ملحق B — مرجع الإجراءات والأفعال

الأعداد (الأعداد الصحيحة int والأعداد العشرية float)

الإجراء الوصف
abs(x) ترجع القيمة المطلقة للعدد x.
divmod(a, b) ترجع زوجًا يحتوي على حاصل القسمة والباقي عند قسمة a على b.
float(x) تحول x إلى عدد عشري.
int(x) تحول x إلى عدد صحيح.
pow(base, exp[, mod]) ترجع base مرفوعة للأس exp. إذا تم توفير mod، ترجع (base ** exp) % mod.
round(number[, ndigits]) ترجع العدد number مقربًا إلى ndigits من المنازل العشرية.
int.bit_length() ترجع عدد البتات اللازمة لتمثيل عدد صحيح في النظام الثنائي، باستثناء علامة الصفر والبادئات.

القائمة (القوائم list)

الإجراء الوصف
len(s) ترجع عدد العناصر في القائمة s.
max(iterable, *args) ترجع أكبر عنصر في القائمة.
min(iterable, *args) ترجع أصغر عنصر في القائمة.
sorted(iterable, *, key=None, reverse=False) ترجع قائمة جديدة تحتوي على جميع العناصر من الكائن القابل للتكرار بترتيب تصاعدي (افتراضيًا).
sum(iterable, /, start=0) تجمع عناصر القائمة وتبدأ القيمة بـ start.
الإجراء الوصف
list.append(x) إضافة عنصر إلى نهاية القائمة.
x: العنصر المراد إضافته.
list.extend(iterable) توسيع القائمة بإضافة كافة العناصر من iterable.
iterable: المجموعة المراد إضافة عناصرها.
list.insert(i, x) إدراج عنصر في موضع محدد.
i: موضع الإدراج.
x: العنصر المراد إدراجه.
list.remove(x) إزالة أول تكرار لعنصر من القائمة.
x: العنصر المراد إزالته.
list.pop([i]) إزالة وإرجاع عنصر من موضع محدد.
i: موضع العنصر (اختياري، افتراضيًا آخر عنصر).
list.clear() إزالة كافة العناصر من القائمة.
list.index(x[, start[, end]]) إرجاع موضع أول تكرار لعنصر.
x: العنصر المراد البحث عنه.
start: موضع بداية البحث (اختياري).
end: موضع نهاية البحث (اختياري).
list.count(x) عد عدد تكرارات عنصر في القائمة.
x: العنصر المراد عده.
list.sort(*, key=None, reverse=False) ترتيب عناصر القائمة في مكانها.
key: دالة لتحديد معيار الترتيب (اختياري).
reverse: ترتيب تنازلي إذا كانت True.
list.reverse() عكس ترتيب عناصر القائمة في مكانها.
list.copy() إنشاء نسخة سطحية من القائمة.

القاموس (القواميس dict)

الفعل الوصف
dict.clear() تزيل جميع العناصر من القاموس.
dict.get(key[, default]) ترجع قيمة المفتاح key. إذا لم يكن المفتاح موجودًا، فإنها ترجع default (أو None إذا لم يتم توفير default).
dict.items() ترجع عرضًا لعناصر القاموس (أزواج المفتاح والقيمة).
dict.keys() ترجع عرضًا لمفاتيح القاموس.
dict.values() ترجع عرضًا لقيم القاموس.
dict.pop(key[, default]) تزيل المفتاح key وتعيد قيمته. إذا لم يكن المفتاح موجودًا، يتم إرجاع default إذا تم توفيره، وإلا يتم رفع خطأ KeyError.
dict.popitem() تزيل وتعيد زوجًا عشوائيًا (مفتاح، قيمة) من القاموس. يتم ترتيب الأزواج بترتيب LIFO (الأخير يدخل أولاً) في الإصدارات قبل Python 3.7.
dict.setdefault(key[, default]) إذا كان المفتاح key موجودًا في القاموس، فإنه يعيد قيمته. إذا لم يكن كذلك، فإنه يُدخل المفتاح مع القيمة default ويعيد default.
dict.update([other]) تقوم بتحديث القاموس بالمفاتيح/القيم من other، مع الكتابة فوق المفاتيح الموجودة.
dict.fromkeys(iterable[, value]) ينشئ قاموسًا جديدًا بمفاتيح من iterable وقيم تم تعيينها على value (افتراضيًا None).
dict.copy() ترجع نسخة سطحية من القاموس.

المجموعة (المجموعات set)

الفعل الوصف
set.add(elem) يضيف العنصر elem إلى المجموعة.
set.remove(elem) يزيل العنصر elem من المجموعة. يرفع خطأ KeyError إذا لم يكن elem موجودًا.
set.discard(elem) يزيل العنصر elem من المجموعة إذا كان موجودًا.
set.pop() يزيل ويعيد عنصرًا عشوائيًا من المجموعة.
set.clear() يزيل جميع العناصر من المجموعة.
set.update(*others) يقوم بتحديث المجموعة بإضافة جميع العناصر من المجموعات الأخرى.
set.intersection(*others) ترجع مجموعة جديدة تحتوي على العناصر المشتركة بين المجموعة والمجموعات الأخرى.
set.intersection_update(*others) تقوم بتحديث المجموعة بإبقاء العناصر الموجودة في المجموعة والمجموعات الأخرى فقط.
set.difference(*others) ترجع مجموعة جديدة تحتوي على العناصر الموجودة في المجموعة ولكنها غير موجودة في المجموعات الأخرى.
set.difference_update(*others) تقوم بتحديث المجموعة بإزالة العناصر الموجودة في المجموعات الأخرى.
set.symmetric_difference(other) ترجع مجموعة جديدة تحتوي على العناصر الموجودة في المجموعة أو المجموعة الأخرى ولكن ليس في كليهما.
set.symmetric_difference_update(other) تقوم بتحديث المجموعة بإبقاء العناصر الموجودة في المجموعة أو المجموعة الأخرى ولكن ليس في كليهما.
set.isdisjoint(other) ترجع True إذا لم يكن للمجموعة أي عناصر مشتركة مع المجموعة الأخرى، و False خلاف ذلك.
set.issubset(other) ترجع True إذا كانت المجموعة مجموعة فرعية من المجموعة الأخرى، و False خلاف ذلك.
set.issuperset(other) ترجع True إذا كانت المجموعة مجموعة شاملة للمجموعة الأخرى، و False خلاف ذلك.
set.copy() ترجع نسخة سطحية من المجموعة.

النص (str)

إجراءات مبنيَّة

الإجراء الوصف
len(obj) -> int لمعرفة عدد العناصر.
obj: كائن قابل للعد مثل السلسلة النصية أو القائمة.
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) طباعة.
objects: الكائنات المراد طباعتها.
sep: الفاصل بين الكائنات (افتراضيًا مسافة).
end: النهاية (افتراضيًا سطر جديد).
file: وجهة الطباعة (افتراضيًا الشاشة).
flush: تنظيف المخزن المؤقت فورًا.
ord(c) -> int لمعرفة رمز Unicode لحرف.
c: حرف واحد كسلسلة نصية.
int(x=0, base=10) -> int تحويل سلسلة نصية إلى عدد صحيح.
x: القيمة المراد تحويلها.
base: النظام العددي (افتراضيًا عشري).
float(x) -> float تحويل سلسلة نصية إلى عدد عشري.
x: القيمة المراد تحويلها.

أفعال شائعة

الفعل الوصف
str.upper() -> str تحويل السلسلة النصية إلى أحرف كبيرة.
str.lower() -> str تحويل السلسلة النصية إلى أحرف صغيرة.
str.find(sub[, start[, end]]) -> int البحث عن موضع سلسلة نصية فرعية داخل سلسلة نصية.
sub: السلسلة النصية المراد البحث عنها.
start: موضع بداية البحث (اختياري).
end: موضع نهاية البحث (اختياري).
str.replace(old, new[, count]) -> str استبدال تكرارات سلسلة نصية فرعية داخل سلسلة نصية.
old: السلسلة النصية المراد استبدالها.
new: السلسلة النصية البديلة.
count: عدد مرات الاستبدال (اختياري).
str.split(sep=None, maxsplit=-1) -> list تقسيم السلسلة النصية إلى قائمة من السلاسل النصية الفرعية.
sep: المحدد (افتراضيًا المسافات البيضاء).
maxsplit: أقصى عدد للتقسيمات.
str.join(iterable) -> str دمج عناصر من iterable إلى سلسلة نصية باستخدام فاصل.
iterable: مجموعة من السلاسل النصية.
str.strip([chars]) -> str إزالة المسافات البيضاء من بداية ونهاية السلسلة النصية.
chars: الأحرف المراد إزالتها (اختياري).
str.startswith(prefix[, start[, end]]) -> bool التحقق مما إذا كانت السلسلة النصية تبدأ بمقدمة محددة.
prefix: المقدمة المراد التحقق منها.
start: موضع بداية البحث (اختياري).
end: موضع نهاية البحث (اختياري).
str.endswith(suffix[, start[, end]]) -> bool التحقق مما إذا كانت السلسلة النصية تنتهي بنهاية محددة.
suffix: النهاية المراد التحقق منها.
start: موضع بداية البحث (اختياري).
end: موضع نهاية البحث (اختياري).
str.count(sub[, start[, end]]) -> int عد عدد تكرارات سلسلة نصية فرعية داخل سلسلة نصية.
sub: السلسلة النصية المراد عدها.
start: موضع بداية البحث (اختياري).
end: موضع نهاية البحث (اختياري).
str.format(*args, **kwargs) -> str إنشاء سلسلة نصية منسقة باستخدام عناصر نائبة.
args: المتغيرات المراد تنسيقها بالترتيب.
kwargs: المتغيرات المراد تنسيقها بالاسم.

أفعال معروفة

الفعل الوصف
str.encode(encoding='utf-8', errors='strict') -> bytes ترميز السلسلة النصية باستخدام ترميز محدد.
encoding: نوع الترميز.
errors: كيفية معالجة الأخطاء.
str.casefold() -> str تحويل السلسلة النصية إلى نسخة casefold للمقارنات غير الحساسة لحالة الأحرف.
str.capitalize() -> str تحويل الحرف الأول من السلسلة النصية إلى حرف كبير.
str.center(width[, fillchar]) -> str توسيط السلسلة النصية داخل عرض حقل محدد.
width: العرض المطلوب.
fillchar: حرف التعبئة (اختياري).
str.translate(table) -> str استبدال الأحرف في السلسلة النصية باستخدام جدول ترجمة.
table: جدول الترجمة.
str.expandtabs(tabsize=8) -> str توسيع أحرف الجدولة في السلسلة النصية.
tabsize: حجم التبويب (افتراضيًا 8).
str.index(sub[, start[, end]]) -> int البحث عن موضع سلسلة نصية فرعية، وإثارة استثناء إذا لم يتم العثور عليها.
sub: السلسلة النصية المراد البحث عنها.
start: موضع بداية البحث (اختياري).
end: موضع نهاية البحث (اختياري).
str.rjust(width[, fillchar]) -> str محاذاة السلسلة النصية إلى اليمين.
width: العرض المطلوب.
fillchar: حرف التعبئة (اختياري).
str.ljust(width[, fillchar]) -> str محاذاة السلسلة النصية إلى اليسار.
width: العرض المطلوب.
fillchar: حرف التعبئة (اختياري).
str.swapcase() -> str تبديل حالة الأحرف في السلسلة النصية.
str.title() -> str تحويل السلسلة النصية إلى حالة عنوان.
str.zfill(width) -> str ملء السلسلة النصية بالأصفار على اليسار.
width: العرض المطلوب.
str.splitlines([keepends]) -> list تقسيم السلسلة النصية إلى قائمة من الأسطر.
keepends: الاحتفاظ بنهايات الأسطر (اختياري).
str.partition(sep) -> tuple تقسيم السلسلة النصية إلى ثلاثة أجزاء.
sep: الفاصل.

أفعال نادرة الاستعمال

الفعل الوصف
str.isalnum() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من أحرف أبجدية رقمية.
str.isalpha() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من أحرف أبجدية.
str.isdecimal() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من أحرف عشرية.
str.isdigit() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من أرقام.
str.isidentifier() -> bool التحقق مما إذا كانت السلسلة النصية معرف بايثون صالح.
str.islower() -> bool التحقق مما إذا كانت جميع الأحرف المكونة في السلسلة النصية صغيرة.
str.isnumeric() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من أحرف رقمية.
str.isprintable() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من أحرف قابلة للطباعة.
str.isspace() -> bool التحقق مما إذا كانت السلسلة النصية تتكون فقط من مسافات بيضاء.
str.istitle() -> bool التحقق مما إذا كانت السلسلة النصية في حالة عنوان.
str.isupper() -> bool التحقق مما إذا كانت جميع الأحرف المكونة في السلسلة النصية كبيرة.

التعبير النمطي (re)

الإجراء الوصف
re.match(pattern, string, flags=0) -> Match or None مطابقة النمط في بداية السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.
re.search(pattern, string, flags=0) -> Match or None البحث عن أول تطابق للنمط في السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.
re.findall(pattern, string, flags=0) -> list إنشاء قائمة من جميع التطابقات للنمط في السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.
re.finditer(pattern, string, flags=0) -> Iterator[Match[str]] إنشاء مكرر لجميع التطابقات للنمط في السلسلة النصية.
pattern: النمط المراد مطابقته.
string: السلسلة النصية المراد البحث فيها.
flags: أعلام اختيارية لتعديل السلوك.

المطابق (Match)

الإجراء الوصف
match.group([group]) -> str إرجاع النص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاعها (افتراضيًا المجموعة الكاملة).
match.groups(default=None) -> tuple إرجاع جميع المجموعات الفرعية كنصوص.
default: القيمة الافتراضية للمجموعات غير المطابقة.
match.groupdict(default=None) -> dict إرجاع القاموس الذي يحتوي على المجموعات المسماة.
default: القيمة الافتراضية للمجموعات غير المطابقة.
match.start([group]) -> int إرجاع موضع بداية النص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاع موضع بدايتها (اختياري).
match.end([group]) -> int إرجاع موضع نهاية النص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاع موضع نهايتها (اختياري).
match.span([group]) -> tuple إرجاع موضع البداية والنهاية للنص المطابق أو مجموعة فرعية منه.
group: رقم المجموعة المراد إرجاع مواضعها (اختياري).
match.pos -> int موضع بداية البحث في السلسلة النصية.
match.endpos -> int موضع نهاية البحث في السلسلة النصية.
match.lastindex -> int or None رقم آخر مجموعة فرعية مطابقة أو None إذا لم توجد.
match.lastgroup -> str or None اسم آخر مجموعة فرعية مطابقة أو None إذا لم توجد.
match.re -> Pattern كائن النمط المستخدم في المطابقة.
match.string -> str السلسلة النصية التي تم مطابقتها.

مكتبة المسار (pathlib)

وإليك تصنيف لعمليات مكتبة pathlib:

عمليات المسار

  • إنشاء وتعديل المسارات:
    • .joinpath: دمج مكونات مسار.
    • .parent: استخراج الدليل الأب.
    • .name: استخراج الاسم الأساسي للملف.
    • .stem: استخراج اسم الملف بدون الامتداد.
    • .suffix: استخراج امتداد الملف.
    • .with_name: إنشاء مسار جديد باسم مختلف.
    • .with_suffix: إنشاء مسار جديد بامتداد مختلف.
    • relative_to: إنشاء مسار نسبي.

عمليات على نظام الملفات

  • استعلام:
    • is_absolute: هل هو مطلق؟.
    • samefile: هل مساران يشيران إلى نفس الملف؟.
    • exists: هل هو مسار موجود؟.
    • is_file: هل هو مسار ملف؟.
    • is_dir: هل هو مسار دليل؟.
    • is_symlink: هل هو ارتباط رمزي؟.
    • stat: سرد إحصائيات نظام الملفات.
    • lstat: سرد إحصائيات نظام الملفات دون متابعة الارتباطات الرمزية.
  • عمليات تغيير:
    • open: فتح ملف للقراءة أو الكتابة أو الإضافة.
    • mkdir: إنشاء دليل.
    • rmdir: حذف دليل فارغ.
    • unlink: حذف ملف.
    • rename: تعديل اسم ملف.
    • replace: تعديل اسم ملف مع الكتابة فوقه إذا لزم الإجراء.
    • chmod: تغيير أذونات الملف.
    • lchmod: تغيير أذونات الملف دون متابعة الارتباطات الرمزية.
    • touch: تحديث الطابع الزمني للملف.

الارتباطات الرمزية والصلبة

  • symlink_to: إنشاء ارتباط رمزي.
  • hardlink_to: إنشاء ارتباط صلب.
  • readlink: قراءة الهدف من ارتباط رمزي.

التكرار والبحث

  • iterdir: تكرار على قائمة الدليل.
  • glob: البحث عن الملفات المطابقة لنمط.
  • rglob: البحث بشكل متكرر عن الملفات المطابقة لنمط.
  • walk: التنقل بشكل متكرر في شجرة الأدلة.

النسخ والحذف والنقل (shutil)