ملحق الكلمات المحجوزة والدوال الجاهزة

فيما يلي ملحق لثلاثة مفاهيم:

  1. الكلمات المحجوزة: لها معنى خاص في لغة بايثون نفسها.
  2. الدوال المبنية: معرَّفة كما يعرف المطور الدوال
  3. المكتبة المبنية: مقسمة إلى وحدات تجمع دوال مختصة في مجال معين

الكلمات المحجوزة (Keywords)

للتفاصيل، راجع: التوثيق الرسمي للمعرفات والكلمات المفتاحية.

وفيما يلي تقسيم لهذه الكلمات المحجوززة في بايثون:

1. المنطق والقيم الثابتة

الكلمة الوصف
True / False القيم المنطقية (صح/خطأ).
None يمثل قيمة فارغة أو معدومة.
and / or / not معاملات منطقية (و، أو، نفي).
is / in اختبار الهوية أو الوجود داخل مجموعة.

2. التحكم في التدفق والحلقات

الكلمة الوصف
if / elif / else الجمل الشرطية.
for / while إنشاء حلقات تكرارية.
break / continue إنهاء الحلقة أو تخطي دورة فيها.
match / case مطابقة الأنماط (تعدد الشروط).

3. الدوال والفئات (Classes)

الكلمة الوصف
def / return تعريف الدالة والتحكم في مخرجاتها.
lambda إنشاء دوال مجهولة (مختصرة).
yield إرجاع قيم من دالة مولّدة (Generator).
class لتعريف فئة برمجية.
pass عبارة فارغة لحجز مكان للكود.

4. معالجة الأخطاء والاستثناءات

الكلمة الوصف
try / except محاولة تنفيذ كود وفحص أخطائه.
finally كود ينفذ دائماً بغض النظر عن الأخطاء.
raise / assert إثارة خطأ برمجياً أو اختبار شرط للتنقيح.
with تبسيط إدارة الموارد (فتح الملفات وإغلاقها).

5. النطاق، الاستيراد، والمتغيرات

الكلمة الوصف
import / from / as استيراد المكتبات وتخصيص أسماء لها.
global / nonlocal تحديد نطاق المتغير (عام أو غير محلي).
del حذف كائن أو متغير.

6. البرمجة غير المتزامنة (Asynchronous)

الكلمة الوصف
async تعريف دالة تعمل بشكل غير متزامن.
await انتظار نتيجة دالة غير متزامنة.

الدوال المبنية (Built-in Functions)

للتفاصيل، راجع: التوثيق الرسمي للدوال المبنية.

تصنيف الدوال الجاهزة في بايثون حسب وظيفتها:

1. العمليات الحسابية والعددية

الدالة الوصف
abs() القيمة المطلقة.
divmod() ناتج وقسمة وباقي القسمة.
pow() حساب الأس.
round() تقريب الأرقام.
sum() جمع العناصر.
max() / min() القيمة الكبرى والصغرى.

2. تحويل الأنواع والإنشاء (Constructors)

الدالة الوصف
int(), float(), complex() تحويل لأرقام (صحيح، عشري، مركب).
str() تحويل لنص.
bool() تحويل لقيمة منطقية.
list(), tuple(), dict() إنشاء (قائمة، صف، قاموس).
set(), frozenset() إنشاء مجموعة (قابلة/غير قابلة للتعديل).
bin(), oct(), hex() تحويل لأنظمة (ثنائي، ثماني، سداسي عشر).
bytes(), bytearray() التعامل مع بيانات البايت.
object() إنشاء كائن أساسي.

3. التعامل مع المجموعات (Iterables)

الدالة الوصف
len() عدد العناصر.
range() توليد تسلسل عددي.
enumerate() ترقيم العناصر (عداد).
zip() دمج مجموعتين أو أكثر.
sorted() ترتيب العناصر.
reversed() عكس الترتيب.
filter() تصفية العناصر.
map() تطبيق دالة على كل العناصر.
slice() كائن لتقطيع البيانات.
all() / any() التحقق من صحة العناصر (الكل/البعض).
iter() / next() التحكم في المكررات.

4. فحص الكائنات والبرمجة الوصفية (Metadata)

الدالة الوصف
type() معرفة النوع.
id() المعرف الفريد في الذاكرة.
dir() عرض الخصائص والدوال.
vars() عرض القاموس الداخلي للكائن.
hasattr(), getattr() فحص أو جلب خاصية.
setattr(), delattr() تعيين أو حذف خاصية.
isinstance(), issubclass() التحقق من الانتماء لفئة.
callable() هل الكائن قابل للاستدعاء؟
hash() الحصول على قيمة الـ Hash.

5. المدخلات، المخرجات، والنظام

الدالة الوصف
print() طباعة للبيانات.
input() استقبال مدخلات.
open() التعامل مع الملفات.
help() نظام المساعدة.
globals() / locals() عرض نطاق الرموز (العام/المحلي).
eval(), exec(), compile() تنفيذ كود نصي.

6. البرمجة كائنية التوجه (OOP) والترميز

الدالة الوصف
super() الوصول للفئة الأم.
property() إدارة الخصائص (Get/Set).
classmethod(), staticmethod() أنواع دوال الفئة.
chr() / ord() تحويل بين الحروف وأكوادها.
ascii(), repr() تمثيلات نصية للكائن.
memoryview() الوصول المباشر للذاكرة.

الوحدات المبنية (Built-in Modules)

للتفاصيل، راجع: التوثيق الرسمي للمكتبة المبنية / القياسية.

أهم مكتبات بايثون المبنية مصنفة حسب الاستخدام:

1. النظام والملفات (Core System)

المكتبة الوصف
os التفاعل مع نظام التشغيل (المجلدات، البيئة).
sys معاملات النظام ومدخلات سطر الأوامر.
pathlib مسارات الملفات (بأسلوب كائني حديث).
shutil عمليات متقدمة كنسخ ونقل وأرشفة الملفات.

2. معالجة البيانات والأنماط (Data Handling)

المكتبة الوصف
collections حاويات بيانات متخصصة (Counter, deque).
itertools أدوات تكرار ومعالجة فعالة للبيانات.
json قراءة وتحويل بيانات JSON.
re البحث والمطابقة باستخدام التعبيرات النمطية.
enum إنشاء مجموعات من القيم الثابتة (التعدادات).

3. الرياضيات والأرقام (Math & Numbers)

المكتبة الوصف
math الثوابت والدوال الرياضية الأساسية.
random توليد أرقام واختيارات عشوائية.
statistics الإحصاء الرياضي (المتوسط، الوسيط، إلخ).
decimal / fractions الحسابات عالية الدقة والكسور الاعتيادية.

4. التاريخ والوقت (Date & Time)

المكتبة الوصف
datetime معالجة التاريخ والوقت بمرونة.
time التعامل مع الوقت وتحويلاته.
zoneinfo دعم المناطق الزمنية العالمية.

5. الشبكات والويب (Networking)

المكتبة الوصف
urllib التعامل مع عناوين URL وطلبات HTTP.
http لبنات بناء بروتوكول HTTP.
socket واجهة اتصال منخفضة المستوى للشبكات.

6. الأداء والتزامن (Concurrency)

المكتبة الوصف
asyncio البرمجة المتزامنة (async/await).
threading / multiprocessing إدارة الخيوط والعمليات المتوازية.
timeit قياس سرعة تنفيذ أجزاء الكود.

7. أدوات المطورين (Developer Tools)

المكتبة الوصف
logging تسجيل الأحداث لتتبع الأخطاء.
argparse بناء واجهات سطر الأوامر بسهولة.
unittest إطار عمل مدمج لاختبار الكود.
tomllib قراءة ملفات الإعدادات بصيغة TOML.

خريطة الجموع

classDiagram
    class Container {
        <<abstract>>
        +__contains__()
    }

    class Iterable {
        <<abstract>>
        +__iter__()
    }

    class Iterator {
        <<abstract>>
        +__next__()
    }

    class Reversible {
        <<abstract>>
        +__reversed__()
    }

    class Sized {
        <<abstract>>
        +__len__()
    }

    class Collection {
        <<abstract>>
    }

    class Sequence {
        <<abstract>>
        +__getitem__()
        +index()
        +count()
    }

    class MutableSequence {
        <<abstract>>
        +__setitem__()
        +__delitem__()
        +__len__()
        +insert()
        +append()
        +clear()
        +reverse()
        +extend()
        +pop()
        +remove()
        +__iadd__()
    }

    class Set {
        <<abstract>>
        +__le__()
        +__lt__()
        +__eq__()
        +__ne__()
        +__gt__()
        +__ge__()
        +__and__()
        +__or__()
        +__sub__()
        +__xor__()
        +isdisjoint()
    }

    class MutableSet {
        <<abstract>>
        +add()
        +discard()
        +clear()
        +pop()
        +remove()
        +__ior__()
        +__iand__()
        +__ixor__()
        +__isub__()
    }

    class Mapping {
        <<abstract>>
        +__getitem__()
        +keys()
        +items()
        +values()
        +get()
        +__eq__()
        +__ne__()
    }

    class MutableMapping {
        <<abstract>>
        +__setitem__()
        +__delitem__()
        +pop()
        +popitem()
        +clear()
        +update()
        +setdefault()
    }

    class str {
        ...
    }

    class bytes {
        ...
    }

    Iterable <|-- Iterator
    Iterable <|-- Reversible

    Sized <|-- Collection
    Iterable <|-- Collection
    Container <|-- Collection

    Reversible <|-- Sequence
    Collection <|-- Sequence
    Sequence <|-- MutableSequence
    Collection <|-- Mapping
    Mapping <|-- MutableMapping

    MutableSequence <-- list
    Sequence <-- tuple
    Sequence <-- range
    Sequence <-- str
    Sequence <-- bytes
    MutableMapping <-- dict

    Collection <|-- Set
    Set <|-- MutableSet
    MutableSet <-- set
    Set <-- frozenset
شكل 1: الأنواع المجردة حول الجمع (Collection)