نتائج البحث

اذهب إلى التنقل اذهب إلى البحث

النوع int في أردوينو

الأعداد الصحيحة هي نوع البيانات الأساسي المستعمل لتخزين الأعداد. في لوحات أردوينو Uno (واللوحات التي تعتمد على المتحمات ATmega)، يحجز النوع int حجمًا مقداره 16 بت (2 بايت) من الذاكرة والتي يمكن فيها تخزين أعداد تتراوح بين 32768- (أصغر قيمة وتساوي 15^2-) و 32767 (أكبر قيمة وتساوي 1 - 15^2). أمَّا في لوحات أردوينو Due واللوحات التي تعتمد على متحكمات SAMD (مثل اللوحات MKR1000، و Zero)، يحجز النوع حجمًا بمقدار 32 بت (4 بايت) من الذاكرة لتخزين أعداد تتراوح من ...

الدالة int()‎ في أردوينو

تحول الدالة int()‎ القيمة المُمرَّرة إليها إلى النوع «عدد صحيح» (integer). البنية العامة int(x) المعاملات x القيمة المراد تحويلها، ويمكن أن تكون أيَّ نوعٍ من البيانات. القيم المعادة يعاد عددٌ صحيحٌ يمثِّل ناتج تحويل القيمة x. أمثلة مثال على استعمال الدالة int()‎: void setup() { Serial.begin(9600); } void loop() { Serial.println(int(1.23)); // 1 Serial.println(int('a')); // 97 } انظر أيضًا الدالة byte()‎: تحول القيمة المُمرَّرة إليها إلى النوع «بايت» (byte). الدالة char()‎: تحول القيمة المُمرَّرة إليها إلى النوع «محرف» ...

النوع unsigned int في أردوينو

في لوحات أردونيو Uno واللوحات التي تعتمد على متحكمات ATMega، يماثل النوع unsigned int (عدد صحيح عديم الإشارة) النوع int بالحجم، إذ يحجز كلاهما 2 بايت من الذاكرة لتخزين القيم فيها. الفارق الوحيد بينهما هو أنَّ الأول لا يخزن أعدادًا سالبةً -خلافًا للثاني- بل يخزَّن الأعداد الموجبة فقط التي تتراوح من 0 إلى 65,535 (تساوي 1 - 16^2). أمَّا في لوحات أردوينو Due، فيحجز النوع unsigned int حجمًا من الذاكرة مقداره 4 بايت (32 بت)، والقيم التي يمكن تخزينها فيه تقع ...

if في بايثون

تقدّم بايثون عبارة if للتحكم المشروط بتدفق الشيفرة، وتأخذ الصيغة التالية: if expression: statement فعلى سبيل المثال: >>> x = int(input("Please enter an integer: ")) Please enter an integer: -16 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') Negative changed to zero عبارة elif يمكن استخدام عبارة elif (وهي اختصار لعبارة 'else if' ) عند الحاجة إلى التحقق من شروط إضافية، وكما هو موضح في المثال التالي: >>> x = int(input("Please enter an integer: ")) Please ...

if في بايثون

تقدّم بايثون عبارة if للتحكم المشروط بتدفق الشيفرة، وتأخذ الصيغة التالية: if expression: statement فعلى سبيل المثال: >>> x = int(input("Please enter an integer: ")) Please enter an integer: -16 >>> if x < 0: ...     x = 0 ...     print('Negative changed to zero') Negative changed to zero عبارة elif يمكن استخدام عبارة elif (وهي اختصار لعبارة 'else if' ) عند الحاجة إلى التحقق من شروط إضافية، وكما هو موضح في المثال التالي: >>> x = int(input("Please enter an integer: ")) Please ...

Python/array

تعرف هذه الوحدة كائنًا يمكن عن طريقه تمثيل مصفوفة من القيم الأساسية مثل الحروف والأعداد الصحيحة والأعداد ذات الفاصلة العائمة بشكل مضغوط. تعد المصفوفات نوعًا من أنواع التسلسلات وتشبه القوائم في عملها على نحو كبير، باستثناء أن أنواع الكائنات التي يمكن تخزينها في المصفوفات محدودة. أنواع الكائنات التي يمكن تخزينها في المصفوفات يجب تحديد نوع الكائنات عند إنشاء المصفوفة وذلك باستخدام رمز النوع وهو عبارة عن حرف واحد فقط. يبين الجدول التالي رموز الأنواع المتاحة: رمز النوع النوع في لغة ...

الأعداد الصحيحة في بايثون

العدد الصحيح integer هو أي عدد موجب أو سالب لا يتضمن فاصلة عشرية، ويمكن تمثيله بالنظام العشري (decimal، الأساس 10) والست عشري (hexadecimal، الأساس 16) والثماني (octal، الأساس 8) والثنائي (binary، الأساس 2). يجب أن يكون العدد الصحيح مسبوقًا بالقيمة 0o لاستخدامه في النظام الثماني، وبالقيمة 0x لاستخدامه في النظام الست عشري، وبالقيمة 0b لاستخدامه في النظام الثنائي، وفيما يلي مجموعة من الأمثلة: >>> q = 3571 # عدد صحيح في النظام العشري >>> q ...

الأعداد الصحيحة في بايثون

العدد الصحيح integer هو أي عدد موجب أو سالب لا يتضمن فاصلة عشرية، ويمكن تمثيله بالنظام العشري (decimal، الأساس 10) والست عشري (hexadecimal، الأساس 16) والثماني (octal، الأساس 8) والثنائي (binary، الأساس 2). يجب أن يكون العدد الصحيح مسبوقًا بالقيمة 0o لاستخدامه في النظام الثماني، وبالقيمة 0x لاستخدامه في النظام الست عشري، وبالقيمة 0b لاستخدامه في النظام الثنائي، وفيما يلي مجموعة من الأمثلة: >>> q = 3571 # عدد صحيح في النظام العشري >>> q ...

الدالة isinstance()‎ في بايثون

تعيد الدّالة isinstance()‎ قيمة منطقيّةً تُشير إلى ما إذا كان الكائن المُعطى نسخة (instance) من الصّنف المُعطى أم لا. البنية العامة isinstance(object, classinfo) المعاملات object الكائن المرغوب التّحقّق من كونه نسخةً من الصّنف (أو النّوع) المُعطى. classinfo الصّنف أو النّوع المرغوب التّحقق من أنّ الكائن نسخة منه. يُمكن كذلك أن يقبل صفًّا (أو عدّة صفوف) من الأصناف أو الأنواع للتحقّق من أنّ الكائن نُسخة من أحدها. القيمة المعادة القيمة True إن كان الكائن نُسخة من الصّنف أو نسخة من أحد ...

وراثة الأصناف في بايثون

تدعم بايثون شأنها في ذلك شأن أي لغة برمجية كائنية التوجه مفهوم الوراثة، وأبسط صيغة لتعريف صنف مشتق أو موروث من صنف آخر هي: class DerivedClassName(BaseClassName):     <statement-1>     .     .     .     <statement-N> يجب أن يكون الاسم BaseClassName معرّفًا في النطاق الذي يحتوي تعريف الصنف المشتق. ويمكن استخدام أي تعبير محلّ اسم الصنف الأساسي، ويمكن لهذا أن يكون مفيدًا عندما يكون الصنف الأساسي معرّفًا في وحدة أخرى على سبيل المثال: class DerivedClassName(modname.BaseClassName): يجري تنفيذ تعريف الصنف المشتق بنفس الطريقة ...

التابع int.from_bytes()‎ في بايثون

يعيد التابع from_bytes()‎ العدد الصحيح الذي تمثّله مصفوفة البايتات الممرّرة إلى الدالة. البنية العامة x.from_bytes() المعاملات bytes يجب أن يكون هذا الوسيط كائنًا شبيهًا بالبايتات أو كائنًا يمكن المرور على عناصره (iterable) وينتج البايتات. bytesorder يحدد هذا الوسيط ترتيب البايتات المستخدمة لتمثيل العدد الصحيح. يأخذ هذا المعامل القيمة "big" ويصبح البايت الأكثر أهمّية في بداية مصفوفة البايتات، ويأخذ القيمة "little" فيصبح البايت الأكثر أهمّية في نهاية مصفوفة البايتات. وللحصول على الترتيب المعتمد في النظام المضيف يمكن استخدام sys.byteorder كقيمة لهذا ...

التابع int.bit_length()‎ في بايثون

يعيد التابع bit_length()‎ عدد البتات المطلوبة لتمثيل عدد صحيح بالصيغة الثنائية، مع استثناء الإشارة والأصفار الأولية. البنية العامة x.bit_length() القيمة المعادة يعيد هذا التابع عدد البتات المطلوبة لتمثيل عدد صحيح بالصيغة الثنائية، مع استثناء الإشارة والأصفار الأولية. أمثلة يبيّن المثال التالي النتيجة المعادة من استخدام التابع مع عدد صحيح يمتلك إشارة سالبة: >>> n = -37 >>> bin(n) '-0b100101' >>> n.bit_length() 6 توضيح إذا توخينا الدقة، فإنّ القيمة المعادة من x.bit_length()‎ في حال لم يكن x مساويًا للصفر هي عدد صحيح موجب فريد k ...

التابع int.to_bytes()‎ في بايثون

يعيد التابع to_bytes()‎ مصفوفة من البايتات تمثّل عددًا صحيحًا. البنية العامة x.to_bytes() المعاملات length عدد البايتات التي يستخدمها التابع لتمثيل العدد الصحيح. في حال كان العدد الصحيح غير قابل للتمثيل باستخدام العدد البايتات المحدّد في هذا الوسيط فستطلق اللغة الاستثناء OverflowError. byteorder يحدد هذا الوسيط ترتيب البايتات المستخدمة لتمثيل العدد الصحيح. يأخذ هذا المعامل القيمة "big" ويصبح البايت الأكثر أهمّية في بداية مصفوفة البايتات، ويأخذ القيمة "little" فيصبح البايت الأكثر أهمّية في نهاية مصفوفة البايتات. وللحصول على الترتيب المعتمد في ...

كائنات defaultdict‎ في بايثون

صنف متفرّع من الصنف الداخلي dict يعيد تعريف override تابع واحد ويضيف متغير نسخة واحدًا قابلًا للكتابة. البنية العامة ‎class collections.defaultdict([default_factory[, ...]]) تعيد الدالة البانية لهذا الصنف كائنًا جديدًا شبيهًا بالقاموس، وdefaultdict هو صنف متفرّع من الصنف الداخلي dict يعيد تعريف override تابع واحد ويضيف متغير نسخة واحدًا قابلًا للكتابة. أما بقية التوابع فهي مماثلة للصنف الرئيسي ولن توثّق هنا. يحدّد المعامل الأول القيمة الابتدائية للخاصية default_factory ويأخذ هذا المعامل القيمة الافتراضية None. أما بقية المعاملات (ومن ضمنها المعاملات المفتاحية) ...

الاستثناءات في بايثون

قد تكون التعابير البرمجية في الشيفرة صحيحة من ناحية الصيغة، لكن قد يؤدي تنفيذ تلك الشيفرة إلى التسبب في حدوث الأخطاء. تسمّى الأخطاء المُكتشفة أثناء تنفيذ الشيفرة بالاستثناءات (exceptions) وقد تتسبب في إيقاف عمل البرنامج (fatal) في بعض الأحيان. صيغة الاستثناءات تُنشئ الاستثناءات رسائل خطإٍ مماثلة لما يلي: >>> 10 * (1/0) Traceback (most recent call last):   File "<stdin>", line 1, in <module> ZeroDivisionError: division by zero >>> 4 + spam*3 Traceback (most recent call last):   File "<stdin>", line 1, in <module> NameError: name 'spam' ...

الدالة abs()‎ في بايثون

تعيد الدّالة abs()‎ القيمة المطلقة (absolute value) لعدد معيّن. البنية العامة abs() المعاملات number عدد يُمكن له أن يكون صحيحًا أو عشريًّا أو عددًا عقديًّا (complex number). القيمة المعادة تُعاد القيمة المطلقة للعدد، إن كان المُعامل عددًا عقديّا، فستُعاد جسامته (magnitude). أمثلة إليك مثالًا على بعضٍ من نتائج استدعاء الدّالة مع تمرير قيم عدديّة (number) إليها: >>> abs(5) 5 >>> abs(-5) 5 >>> abs(-5.2) 5.2 انظر أيضًا الأعداد الصحيحة (int). الأعداد العشرية (float). الأعداد المركبة (complex). مصادر قسم الدالة abs في صفحة Functions في ...

العمليات العددية في بايثون

تدعم بايثون شأنها في ذلك شأن بقية اللغات البرمجية جميع العمليات الحسابية المعروفة، وتدعم جميع الأنواع العددية (باستثناء الأعداد المركبة) العمليات الحسابية التالية، وهي مرتبة في هذا الجدول ترتيبًا تصاعديًّا بحسب الأولوية (تمتلك جميع العمليات الحسابية أولوية أعلى من عمليات المقارنة): العملية النتيجة الملاحظات x + y إضافة x إلى y x - y طرح y من x x * y ضرب x في y x / y قسمة x على y x // y الحاصل التقريبي لقسمة x على ...

الدالة functools.partial()‎ في بايثون

تعيد الدّالة functools.partial()‎ كائن partial يتصرّف كالدّالة المُعطاة عند استدعائها بما مُرّر من مُعاملات (arguments) ومُعاملات كلمات مفتاحيّة (keyword arguments، أي المُعاملات التي تُمرّر مع ذكر أسمائها إضافةً إلى قيمها). إن استُدعيَ الكائن بمُعاملات إضافيّة، فستُضاف إلى مُعاملات الدّالة، و إن استُدعيَ الكائن بمُعاملات كلمات مفتاحيّة إضافيّة، فستُوسّع وتُعوّض معاملات الكلمات المفتاحيّة السّابقة. تُستعمل لإنشاء دالّة جزئيّة من دالّة بتمرير قيم افتراضيّة ثابتة لها. البنية العامة functools.partial(func, *args, **keywords) المعاملات func الدّالة المرغوب إنشاء دالّة جزئيّة منها. args المُعاملات التي ...

العمليات العددية في بايثون

تدعم بايثون شأنها في ذلك شأن بقية اللغات البرمجية جميع العمليات الحسابية المعروفة، وتدعم جميع الأنواع العددية (باستثناء الأعداد المركبة) العمليات الحسابية التالية، وهي مرتبة في هذا الجدول ترتيبًا تصاعديًّا بحسب الأولوية (تمتلك جميع العمليات الحسابية أولوية أعلى من عمليات المقارنة): العملية النتيجة الملاحظات x + y إضافة x إلى y x - y طرح y من x x * y ضرب x في y x / y قسمة x على y x // y الحاصل التقريبي لقسمة x على ...

الدالة bin()‎ في بايثون

تُحوّل الدّالة bin()‎ عددًا صحيحًا (integer number) إلى سلسلةٍ نصيّةٍ ثنائيّة (binary string) مسبوقة بالمقطع النّصيّ "0b". البنية العامة bin(x) المعاملات x عدد صحيح، إن لم يكن كائنًا من النّوع int، فيجب على الكائن أن يحتوي على التّابع الخاصّ ‎_‎_index‎_‎_()‎ الذي يجب عليه أن يُعيد عددًا صحيحًا. القيمة المعادة سلسلة نصيّة ثنائيّة مسبوقة بالمقطع النّصيّ "0b". أمثلة تُوضّح الأمثلة التّالية كيفيّة عمل هذه الدّالة: >>> bin(3) '0b11' >>> bin(-10) '-0b1010' ملاحظات إن لم ترغب بالحصول على السّابقة "0b"، يُمكنك استعمال أحد الطرائق التّاليّة: ...

الدالة bool()‎ في بايثون

يُعيد الصّنف bool()‎ قيمةً منطقيّةً تكون إمّا True أو False. ويُعَامَل مُعاملة دالةٍ مُضمنّة في بايثون. البنية العامة bool([x]) المعاملات x مُعامل اختياريّ يُحوَّل إلى قيمة منطقيّة باستعمال طريقة اختبار الصّحّة الاعتياديّة. القيمة المعادة إن كان المُعامل المُمرّر يحمل قيمة منطقيّة خطأ (false) أو لم يُمرّر أي مُعامل إلى الصّنف، فالقيمة المُعادة ستكون False، وتُعاد القيمة True في غير ذلك من حالات. أمثلة المثال التّالي يُوضّح كيفيّة عمل هذا الصّنف. لاحظ أنّه يُستدعى كما تُستدعى الدّوال في بايثون: >>> bool(1) True >>> ...

الدالة ()os.fspath في بايثون

تُعيد الدالة تمثيل نظام الملفات من المسار المُمرَّر. البنية العامة fspath(path) سجل التغييرات الإصدار التغييرات 3.6 أُضيفت الدالة في هذا الإصدار. المعاملات path المسار المُراد الحصول على تمثيله بنظام الملفات. القيمة المعادة ستُعيد الدالة قيمة غير مُغيَّرة من الأصل إن مُرِّرَ لها سلسلة نصيّة أو سلسلة بايتات تُمثِّل تمثيل المسار المُمرَّر بنظام الملفات. سيُستدعى التابِع ()__fspath__ إن مُرِّرَ للدالة مُعطىً من نوع آخر، وسيُعيد التابِع قيمته فقط إن كان كائِنه سلسلةً نصيّة أو سلسلة بايتات. ستُصدِر الدالة الاستثناء TypeError إن ...

الوحدة enum في بايثون

enumeration هو مجموعة من الأسماء الرمزية (العناصر) المرتبطة بقيم ثابتة وفريدة. يمكن مقارنة عناصر enumeration عن طريق هويتها، ويمكن المرور على عناصر enumeration بواسطة حلقة تكرارية. وحدة enum تقدّم وحدة enum أربعة أصناف enumeration يمكن استخدامها لتعريف مجموعة فريدة من الأسماء والقيم، وهذه الأصناف هي: Enum و IntEnum و Flag و IntFlag. وإلى جانب ما سبق تقدّم الوحدة مزخرفًا واحدًا هو unique()‎، وصنفًا مساعدًا واحدًا هو auto. الصنف enum.Enum هو الصنف الأساسي والذي يستخدم لإنشاء ثوابت معدّدة enumerated constants. راجع ...

الدالة repr()‎ في بايثون

تعيد الدّالة repr()‎ سلسلة نصيّة تحتوي على تمثيل قابل للطّباعة للكائن المُعطى. البنية العامة repr(object) المعاملات object الكائن المرغوب الحصول على تمثيله. القيمة المعادة في الكثير من الحالات، تُحاول الدّالة إعادة سلسلة نصيّة تُعيد كائنًا بنفس القيمة عند تمريره إلى الدّالة eval()‎، وفي غير ذلك من حالات، يكون التّمثيل سلسلةً نصيّة، ويكون مُضمّنًا داخل قوسي <>‎ يحتوي على اسم نوع الكائن إضافةً إلى معلومات أخرى، وعادةً ما تكون هذه المعلومات اسم الكائن وعنوانه في الذّاكرة. يُمكن لصنفٍ أن يتحكّم فيما ...

الدالة help()‎ في بايثون

تُطلق الدّالة help()‎ نظام المُساعدة المُضمّن، الذي يُستعمل في الوضع التّفاعلي للحصول على معلومات حول الكائنات والوحدات المبنيّة في اللغة. البنية العامة help([object]) المعاملات object مُعامل اختياريّ، وهو الكائن المراد الحصول على مُساعدة حوله. القيمة المعادة إن لم تُمرّر مُعاملات للدّالة، فسيُطلَق نظام المُساعدة التّفاعلي على المُفسّر. إن كان المُعامل سلسلة نصيّة، فسيُبحث عن القيمة على أنّها اسم وحدة، أو دالّة، أو صنف، أو كلمة مفتاحيّة، أو موضوع توثيق، وستُطبع صفحة مُساعدة (باللغة الانجليزيّة) على الشّاشة. إن كان المُعامل أي ...

الدالة hex()‎ في بايثون

تُحوّل الدّالة hex()‎ عددًا صحيحًا إلى سلسلة نصيّة ست عشريّة (hexadecimal string) مسبوقة بالمقطع 0x. البنية العامة hex(x) المعاملات x كائن من النّوع int. إن لم الكائن كذلك، فيجب على الكائن أن يُعرّف التّابع الخاصّ ‎_‎_‎index‎_‎_‎()‎ والذي عليه أن يُعيد عددًا صحيحًا. القيمة المعادة سلسلة نصيّة ستّ عشريّة مسبوقة بالسّابقة 0x وفي حالة أحرف صغيرة (lowercase). أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> hex(255) # عدد صحيح موجب '0xff' >>> hex(-42) # عدد صحيح سالب '-0x2a' إن أردت تحويل عدد صحيح ...

عمليات المقارنة في بايثون

تقدّم بايثون ثمان عمليات للمقارنة، وتمتلك جميعها نفس الأولوية (وهي أعلى من العمليات المنطقية). يلخّص الجدول التالي عمليات المقارنة المتوفّرة في بايثون: العملية الوظيفة ‎<‎‎ أقل من ‎<=‎ أقل من أو يساوي ‎>‎ أكبر من ‎>=‎ أكبر من أو يساوي == المساواة ‎!=‎ عدم المساواة is هوية الكائن is not نفي هوية الكائن ملاحظات يمكن ربط عمليات المقارنة بعضها ببعض حسب الحاجة، فعلى سبيل المثال العبارة x < y <= z مكافئة للعبارة x < y and y <= z، ...

مواصفات التنسيق في بايثون

تستخدم "مواصفات التنسيق" ضمن حقول الاستبدال الموجودة في سلاسل التنسيق النصية لتحديد طريقة تمثيل القيم المفردة فيها. ويمكن تمرير هذه المعايير مباشرة إلى الدالة الداخلية format()‎. ويمكن لكل نوع من أنواع جداول التنسيق formattable أن يحدّد الطريقة التي ستُفسَّر بها معايير التنسيق هذه. صيغة التنسيق تعتمد معظم الأنواع الداخلية في بايثون الخيارات التالية كمواصفات للتنسيق، ولكن بعض الخيارات مدعومة بواسطة الأنواع العددية فقط. يؤدي استخدام سلسلة تنسيق نصية فارغة ("") في العادة إلى الحصول على نفس النتيجة المستحصلة من استدعاء ...

التابع Connection.create_aggregate()‎ في بايثون

ينشئ التابع دالة تجميع aggregate function معرّفة من قبل المستخدم. البنية العامة create_aggregate(name, num_params, aggregate_class) المعاملات name اسم دالة التجميع المراد إنشاؤها. num_params عدد المعاملات التي تستقبلها الدالة (يمكن تعيين القيمة ‎-1 لهذا المعامل لتستقبل الدالة أي عدد من المعاملات). aggregate_class صنف تجميع يجب أن يتضمّن تابع step، والذي يأخذ المعامل num_params والذي يحدّد عدد المعاملات في الدالة التي ينشئها التابع (يمكن تعيين القيمة ‎-1 لهذا المعامل لتستقبل الدالة أي عدد من المعاملات)، وتابع finalize والذي سيعيد النتيجة النهائية من ...

الدالة functools.singledispatch()‎ في بايثون

تُحوّل الدّالة functools.singledispatch()‎ دالّةً عاديّة إلى دالّة عموميّة وحيدة الإرسال (single-dispatch generic function). الدّالة العموميّة هي كلّ دالّة تتكوّن من عدّة دوال تُنفّذ نفس العمليّة لعدّة أنواع. تُحدّد الدّالة التي ستُنفّذ عبر خوارزميّة الإرسال (dispatch algorithm). تكون الدّالة العموميّة وحيدةَ إرسالٍ إذا كان نوع مُعامل واحد هو الذي يُحدّد الدّالة التي ستُنفَّذ. البنية العامة @functools.singledispatch المعاملات لا توجد مُعاملات القيمة المعادة دالّة عموميّة وحيدة الإرسال. أمثلة لإنشاء دالّة عموميّة، زخرِفها بالمُزخرِف ‎@singledispatch‎. لاحظ أنّ الإرسال يحدث عند نوع أوّل مُعامل: ...

الدالة sqlite3.register_adapter()‎ في بايثون

تسجّل الدالة كائنًا قابلًا للاستدعاء callable لتحويل سلسلة بايتات نصية من قاعدة البيانات إلى نوع خاص من أنواع بيانات بايثون. البنية العامة sqlite3.register_adapter(type, callable) المعاملات type نوع بيانات بايثون الذي ستحوّله الدالة إلى إحدى الأنواع التي تدعمها قواعد بيانات SQLite. callable كائن قابل للاستدعاء يأخذ معاملًا واحدًا هو نوع بيانات بايثون، ويجب أن يعيد إحدى الأنواع التالية: int أو float أو str أو bytes. انظر أيضًا الدالة register_converter()‎: تسجّل الدالة كائنًا قابلًا للاستدعاء callable لتحويل سلسلة بايتات نصية من قاعدة ...

إزالة الإسناد إلى المعاملات (Remove Assignments to Parameters)

المشكلة إسناد قيمةٍ ما إلى أحد المعاملات (parameter) داخل التابع (method body). الحل استخدام متغيِّرٍ محليٍّ (local variable) بدلًا من المعامل. مثال قبل إعادة التصميم نلاحظ وجود عمليّة إسنادٍ (من بعد الإنقاص بمقدار 2) إلى معامل التابع الوارد باسم inputVal: في لغة Java: int discount(int inputVal, int quantity) { if (inputVal > 50) { inputVal -= 2; } //... } في لغة #C: int Discount(int inputVal, int quantity) { if (inputVal > 50) ...

القيم المنطقية في بايثون

القيمتان المنطقيتان (البوليانيتان، Boolean) اللتان تدعمهما بايثون هما True و False وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) من الأعداد الصحيحة، وتسلك القيمتان False و True سلوك القيمتين 0 و 1 على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى سلاسل نصية، فتعاد حينئذ السلسلتان النصيتان "False" و "True" على التوالي. 1 >>> foo = True 2 >>> bar ...

القيم المنطقية في بايثون

القيمتان المنطقيتان (البوليانيتان، Boolean) اللتان تدعمهما بايثون هما True و False وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. تعدّ القيم المنطقية نوعًا فرعيًا (subtype) من الأعداد الصحيحة، وتسلك القيمتان False و True سلوك القيمتين 0 و 1 على التوالي في معظم السياقات تقريبًا، ويستثنى من ذلك تحويل القيم المنطقية إلى سلاسل نصية، فتعاد حينئذ السلسلتان النصيتان "False" و "True" على التوالي. 1 >>> foo = True 2 >>> bar ...

استبدال المعامل بتوابع صريحة (Replace Parameter with Explicit Methods)

المشكلة ينقسم التابع إلى أجزاء، كل منها يتم تشغيله اعتمادًا على قيمة المعامل. الحل استخراج الأجزاء الفردية من التابع إلى توابعها الخاصة واستدعائها بدلًا من استدعاء التابع الأصلي. مثال قبل إعادة التصميم وجود تابع يدعى ()setValue يضبط قيمة الارتفاع والعرض بناءً على تمرير سلسلة نصية صريحة بذلك: في لغة Java: void setValue(String name, int value) { if (name.equals("height")) { height = value; return; } if (name.equals("width")) { width ...

الدالة sqlite3.create_function()‎ في بايثون

ينشئ التابع دالة معرفة من قبل المستخدم يمكن استعمالها لاحقًا ضمن جمل SQL. البنية العامة create_function(name, num_params, func) ‎المعاملات name اسم الدالة المراد إنشاؤها. num_params عدد المعاملات التي تستقبلها الدالة (يمكن تعيين القيمة ‎-1 لهذا المعامل لتستقبل الدالة أي عدد من المعاملات). func كائن قابل للاستدعاء callable في بايثون، والذي سيستدعى كدالة SQL. القيمة المعادة يمكن للدالة أن تعيد أيّة قيمة من القيم المدعومة في SQLite وهي: bytes، str، int، float، None. أمثلة يبين المثال التالي طريقة استخدام الدالة: import ...

الأعداد المركبة في بايثون

تتكوّن الأعداد المركبّة من جزأين حقيقي وتخيّلي وكلاهما من الأعداد العشرية ذات الفاصلة العائمة float ، ويمكن استخدام الخاصيتين z.real و z.imagلاستخراج هذين الجزأين من عدد تخيلي z. يستخدم الحرفان 'j' أو 'J' للتعبير عن الأعداد المركبة كما هو موضح في الأمثلة التالية: >>>w = 3j #عدد مركّب الجزء الحقيقي فيه يساوي 0 >>>x = 2+5J >>>y = -3-9j >>>z = 3.1 + 4.5J >>>z.real 3.1 >>> z.imag 4.5 الدالة complex()‎ تعيد الدّالة complex()‎ عددًا مُركّبًا (complex number) حسب العدد الحقيقي والعدد التّخيّلي المُعطيين، أو تُحوّل ...

الأعداد المركبة في بايثون

تتكوّن الأعداد المركبّة من جزأين حقيقي وتخيّلي وكلاهما من الأعداد العشرية ذات الفاصلة العائمة float ، ويمكن استخدام الخاصيتين z.real و z.imagلاستخراج هذين الجزأين من عدد تخيلي z. يستخدم الحرفان 'j' أو 'J' للتعبير عن الأعداد المركبة كما هو موضح في الأمثلة التالية: >>>w = 3j #عدد مركّب الجزء الحقيقي فيه يساوي 0 >>>x = 2+5J >>>y = -3-9j >>>z = 3.1 + 4.5J >>>z.real 3.1 >>> z.imag 4.5 الدالة complex()‎ تعيد الدّالة complex()‎ عددًا مُركّبًا (complex number) حسب العدد الحقيقي والعدد التّخيّلي المُعطيين، أو تُحوّل ...

استبدال شيفرات الأخطاء باستثناءات (Replace Error Code with Exception)

المشكلة يعيد التابع قيمة خاصة تشير إلى خطأ. الحل إطلاق استثناء بدلًا من ذلك. مثال قبل إعادة التصميم يعيد التابع ()withdraw القيمة 1- التي تمثِّل خطأً إن تحقق شرط محدَّد: في لغة Java: int withdraw(int amount) { if (amount > _balance) { return -1; } else { balance -= amount; return 0; } } في لغة C#‎: int Withdraw(int amount) { if (amount > _balance) { ...

دمج التوابع (Inline Methods)

المشكلة أن يكون محتوى التابع (method body) بسيطًا وواضحًا أكثر من التابع بحدِّ ذاته، ويمكن عندئذٍ الاستغناء عنه. الحل نقل الشيفرة الموجودة في التابع (محتوى التابع) إلى مواقع استدعائه، وحذف التابع برمته إذ لا داعي له. مثال قبل إعادة التصميم نلاحظ أن محتوى التابع moreThanFiveLateDeliveries()‎ واضحٌ وبسيطٌ لدرجةٍ تجعل الاستغناء عنه ممكنًا: في لغة Java: class PizzaDelivery { //... int getRating() { return moreThanFiveLateDeliveries() ? 2 : 1; } boolean moreThanFiveLateDeliveries() { ...

الحفاظ على الكائن كاملًا (Preserve Whole Object)

المشكلة جلب عدة قيم من أحد الكائنات، ثم تمريرها كمعاملات إلى أحد التوابع. الحل حاول تمرير الكائن بالكامل بدلًا من ذلك. مثال قبل إعادة التصميم جلب قيمة درجة الحرارة المنخفضة low والمرتفعة high من الكائن daysTempRange ثم تمريرهما إلى التابع ()withinTange: في لغة Java: int low = daysTempRange.getLow(); int high = daysTempRange.getHigh(); boolean withinPlan = plan.withinRange(low, high); في لغة C#‎: int low = daysTempRange.GetLow(); int high = daysTempRange.GetHigh(); bool withinPlan = plan.WithinRange(low, high); في لغة PHP: $low = $daysTempRange->getLow(); $high = $daysTempRange->getHigh(); $withinPlan = $plan->withinRange($low, $high); في لغة Python: ...

استبدال الاستثناءات بالاختبارات (Replace Exception with Test)

المشكلة إطلاق استثناء يمكن لاختبار بسيط أن يحل محله. الحل يستعاض عن الاستثناء باختبار الحالة. مثال قبل إعادة التصميم معالجة الاستثناء الحاصل عند وقوع الفهرس periodNumber خارج حدود مصفوفة القيم values وإعادة القيمة 0 آنذاك: في لغة Java: double getValueForPeriod(int periodNumber) { try { return values[periodNumber]; } catch (ArrayIndexOutOfBoundsException e) { return 0; } } في لغة C#‎: double GetValueForPeriod(int periodNumber) { try { return values[periodNumber]; ...

Python/types

تقدّم هذه الوحدة عددًا من الدوال المساعدة لإنشاء أنواع بيانات جديدة بصورة ديناميكية، إضافة إلى أنّها تعرّف أسماءً لبعض أنواع الكائنات التي يستخدمها مفسّر بايثون المعياري، ولكنّها ليست كائنات داخلية مثل int أو str، إلى جانب أنّ هذه الوحدة تقدم بعض الأصناف والدوال المساعدة الخاصة ببعض الأنواع، والتي لا تعدّ أساسية بما يكفي لتصبح أصنافًا ودوالّ داخلية. إنشاء الأنواع ديناميكيًا تقدّم هذه الوحدة ثلاث دوالّ تساعد في إنشاء أنواع البيانات ديناميكيًا: الدالة types.new_class()‎‎ تنشئ هذه الدالة ديناميكيًا كائن صنف باستخدام ...

الدالة dir()‎ في بايثون

تستخدم الدالة الداخلية dir()‎ لمعرفة الأسماء التي تعرّفها الوحدة، وتعيد هذه الدالة قائمة مرتّبة من السلاسل النصية: >>> import fibo, sys >>> dir(fibo) ['__name__', 'fib', 'fib2'] >>> dir(sys) ['__displayhook__', '__doc__', '__excepthook__', '__loader__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_debugmallocstats', '_getframe', '_home', '_mercurial', '_xoptions', 'abiflags', 'api_version', 'argv', 'base_exec_prefix', 'base_prefix', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dont_write_bytecode', 'exc_info', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getdlopenflags', 'getfilesystemencoding', 'getobjects', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'getswitchinterval', 'gettotalrefcount', 'gettrace', 'hash_info', 'hexversion', 'implementation', 'int_info', 'intern', 'maxsize', ...

تبديل المعاملات باستدعاءات التوابع (Replace Parameter with Method Call)

المشكلة استدعاء تابع استعلام (query method) وتمرير نتائجه كمعاملات لتابع آخر، في حين أنه يمكن لهذا التابع استدعاء الاستعلام مباشرة. الحل بدلًا من تمرير القيمة من خلال المعامل، حاول وضع استدعاء الاستعلام داخل متن التابع. مثال قبل إعادة التصميم تخزين القيمة التي يعيدها كلٌّ من التابعين ()getSeasonalDiscount و ()getFees في متغير ثم تمريرها إلى التابع ()discountedPrice: في لغة Java: int basePrice = quantity * itemPrice; double seasonDiscount = this.getSeasonalDiscount(); double fees = this.getFees(); double finalPrice = discountedPrice(basePrice, seasonDiscount, fees); في لغة C#‎: int basePrice ...

التابع str.join()‎ في بايثون

يعيد التابع join()‎ السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). البنية العامة x.join() المعاملات iterable كائن قابل للتكرار مثل الصفوف، والقواميس، والقوائم، والسلاسل النصية، والمجموعات. القيمة المعادة يعيد التابع join()‎ السلسلة النصية الناتجة عن ربط السلاسل النصية التابعة لكائن قابل للتكرار (iterable). إذا لم يكن أحد عناصر الكائن القابل للتكرار سلسلة نصية تطلق الدالة الخطأ TypeError. أمثلة يبين المثال التالي القيم المعادة من تطبيق التابع على سلاسل مختلفة: >>> s = ["100", "200", "300", "400", ...

الوحدة sqlite3 في بايثون

SQLite هي مكتبة مكتوبة بلغة C تتيح إنشاء قواعد بيانات على القرص الصلب ولا تحتاج إلى خادوم خاص لمعالجتها، وتتيح الوصول إلى قاعدة البيانات باستخدام نسخة غير قياسية من لغة الاستعلام SQL. تستخدم بعض التطبيقات والبرامج قاعدة بيانات SQLite لتخزين بياناتها الداخلية، ويمكن إنشاء نماذج أولية من التطبيق باستخدام SQLite ثم نقل الشيفرة إلى قواعد بيانات أكبر مثل PostgreSQL أو Oracle. كُتبت وحدة sqlite3 من قبل Gerhard Häring، وتقدّم واجهة SQL متوافقة مع معايير DB-API 2.0 الموصوفة في PEP 249. ...

سحب متن المُنشِئ لأعلى (Pull Up Constructor Body)

المشكلة تحتوي الأصناف الفرعية على مُنشِئات لها شيفرة متطابقة في أغلبها. الحل إنشاء مُنشئ صنف أب ونقل الشيفرة المماثلة في الأصناف الفرعية إليه. استدعاء مُنشئ الصنف الأب في مُنشِئات الصنف الفرعي. مثال قبل إعادة التصميم احتواء الصنف الفرعي Manager المشتق من الصنف Employee على منشئ متطابق بنسبة كبيرة: في لغة Java: class Manager extends Employee { public Manager(String name, String id, int grade) { this.name = name; this.id = id; ...

for في بايثون

تختلف عبارة for قليلًا في بايثون عن نظيرتها في لغتي C أو Pascal، فبدلًا من تكرار الحلقة استنادًا إلى عملية حسابية (مثل لغة Pascal) أو منح المستخدم القدرة على تعريف عدد مرات التكرار والشرط الذي يؤدي إلى إيقاف عمل الحلقة (كما في لغة C)، فإنّ عبارة for في بايثون تمرّ على عناصر أي تسلسل (قائمة أو سلسلة نصية) معتمدة في ذلك على ترتيب تلك العناصر في ذلك التسلسل. بنية عبارة for >>> # معرفة أطوال السلاسل النصية: ... words = ['cat', ...

for في بايثون

تختلف عبارة for قليلًا في بايثون عن نظيرتها في لغتي C أو Pascal، فبدلًا من تكرار الحلقة استنادًا إلى عملية حسابية (مثل لغة Pascal) أو منح المستخدم القدرة على تعريف عدد مرات التكرار والشرط الذي يؤدي إلى إيقاف عمل الحلقة (كما في لغة C)، فإنّ عبارة for في بايثون تمرّ على عناصر أي تسلسل (قائمة أو سلسلة نصية) معتمدة في ذلك على ترتيب تلك العناصر في ذلك التسلسل. بنية عبارة for >>> # معرفة أطوال السلاسل النصية: ... words = ['cat', ...

Python/Topics

بنية اللغة بيان للبنية العامة للغة بايثون وبعض الأمور العامة مثل التعليقات وتسمية المعرّفات وغيرها. مفسر بايثون يستخدم مفسر بايثون لمعالجة الشيفرات المكتوبة بها، وهو يقبل عددًا من الخيارات، ويمكن تشغيله في الوضع التفاعلي. أنواع البيانات القيمة المنطقية (boolean) القيمتان المنطقيتان اللتان تدعمهما بايثون هما True و False وهما كائنان ثابتان (Constant objects) يعبران عن صحّة تعبير ما، فإمّا أن يكون صحيحًا True أو خطأً False. الأعداد الصحيحة (int) العدد الصحيح integer هو أي عدد موجب أو سالب لا يتضمن ...

حفظ البيانات المهيكلة بصيغة JSON في بايثون

يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read()‎ يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int()‎ والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...

حفظ البيانات المهيكلة بصيغة JSON في بايثون

يمكن قراءة وكتابة السلاسل النصية في الملفات بسهولة ويسر، أما الأرقام فتحتاج إلى المزيد من الجهد لأنّ التابع read()‎ يعيد السلاسل النصية فقط والتي يجب تمريرها إلى دالة مثل int()‎ والتي تأخذ سلسلة نصية مثل '123' وتعيد القيمة العددية 123. أما البيانات الأكثر تعقيدًا مثل القوائم أو القواميس المتداخلة فتحتاج إلى عمليات تحليل (parsing) وسَلسَلة (serializing) لا يمكن القيام بها بصورة يدوية. وبدلًا من إجبار المستخدمين على كتابة الشيفرات وتنقيحها بصورة مستمرة لغرض حفظ البيانات المعقّدة في الملفات، تتيح بايثون ...

استبدال الخوارزمية (Substitute Algorithm)

المشكلة الحاجة إلى استبدال خوارزميّة ما بخوارزميّة أخرى. الحل تعديل محتوى التابع (method body) الذي يُنفِّذ الخوارزمية السابقة ليُنفِّذ الخوارزمية الجديدة. مثال قبل إعادة التصميم تتلخَّص مهمة التابع foundPerson بالبحث عن الأشخاص ذوي الأسماء "Don" أو "John" أو "Kent" وذلك بالمرور بعناصر المصفوفة النصّيّة people باستخدام حلقة for كما في الشيفرة: في لغة Java: String foundPerson(String[] people){ for (int i = 0; i < people.length; i++) { if (people[i].equals("Don")){ return "Don"; ...

الأعداد العشرية (ذات الفاصلة العائمة) float في بايثون

الأعداد العشرية (ذات الفاصلة العائمة floating point) هي الأعداد التي تتضمن فاصلة عشرية أو علامة أسية: >>> x = 2.5 >>> y = -1.609 >>> z = 3e4 >>> print(z) 30000.0 >>> a = 10. >>> b = .001 >>> c = 0e0 >>> print(a, b, c) 10.0 0.001 0.0 يمكن الحصول على معلومات حول دقّة الأعداد العشرية والتمثيل الداخلي لها في الحاسوب الذي يعمل عليه البرنامج عن طريق مكتبة sys.float_info: >>> import sys >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) التحويل إلى الأعداد العشرية ...

الأعداد العشرية (ذات الفاصلة العائمة) float في بايثون

الأعداد العشرية (ذات الفاصلة العائمة floating point) هي الأعداد التي تتضمن فاصلة عشرية أو علامة أسية: >>> x = 2.5 >>> y = -1.609 >>> z = 3e4 >>> print(z) 30000.0 >>> a = 10. >>> b = .001 >>> c = 0e0 >>> print(a, b, c) 10.0 0.001 0.0 يمكن الحصول على معلومات حول دقّة الأعداد العشرية والتمثيل الداخلي لها في الحاسوب الذي يعمل عليه البرنامج عن طريق مكتبة sys.float_info: >>> import sys >>> sys.float_info sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1) التحويل إلى الأعداد العشرية ...

الأعداد العشرية decimal في بايثون

تتيح وحدة decimal إجراء حسابات سريعة على الأعداد العشرية مع ضمان التقريب الصحيح. >>> import decimal >>> Decimal(10) Decimal('10') >>> Decimal('3.14') Decimal('3.14') >>> Decimal(3.14) Decimal('3.140000000000000124344978758017532527446746826171875') ميزات الوحدة decimal تتفوق هذه الوحدة على نوع الأعداد العشرية float بعدة ميزات: العدد العشري decimal "يستند إلى نموذج أعداد عشرية ذات فاصلة عائمة يراعي الاستخدام البشري ويلتزم بمبدأ أساسي هو أنّه يجب أن توفّر الحواسيب عمليات حسابية تعمل بنفس الطريقة التي يتعلّمها الناس في المدارس" - اقتباسٌ من مواصفات العمليات الحسابية التي تجرى على الأعداد العشرية decimal. يمكن تمثيل الأعداد ...

الأعداد العشرية decimal في بايثون

تتيح وحدة decimal إجراء حسابات سريعة على الأعداد العشرية مع ضمان التقريب الصحيح. >>> import decimal >>> Decimal(10) Decimal('10') >>> Decimal('3.14') Decimal('3.14') >>> Decimal(3.14) Decimal('3.140000000000000124344978758017532527446746826171875') ميزات الوحدة decimal تتفوق هذه الوحدة على نوع الأعداد العشرية float بعدة ميزات: العدد العشري decimal "يستند إلى نموذج أعداد عشرية ذات فاصلة عائمة يراعي الاستخدام البشري ويلتزم بمبدأ أساسي هو أنّه يجب أن توفّر الحواسيب عمليات حسابية تعمل بنفس الطريقة التي يتعلّمها الناس في المدارس" - اقتباسٌ من مواصفات العمليات الحسابية التي تجرى على الأعداد العشرية decimal. يمكن تمثيل الأعداد ...

الوحدة heapq في بايثون

تقدّم هذه الوحدة وسيلة لاستخدام خوارزمية طابور الكومة heap queue والتي تعرف كذلك بخوارزمية طابور الأولوية priority queue. الكومات Heaps هي مشجّرات ثنائية binary trees تمتلك كل عقدة أبوية parent node فيها قيمة تكون أصغر من أو مساوية لأي قيمة أخرى في العقد البنوية children. تستخدم الوحدة مصفوفات تكون فيها heap[k] <= heap[2*k+1]‎ و heap[k] <= heap[2*k+2]‎ لجميع قيم k، ويبدأ عدّ العناصر من الصفر. ولغرض المقارنة، تُعدّ العناصر غير الموجودة ما لا نهائية. أما أهمّ خصائص الكومة هي أنّ ...

الدوال المضمنة في لغة Python

abs()‎ القيمة المطلقة (absolute value) لعدد معيّن. all()‎ القيمة True إن كانت جميع عناصر الكائن القابل للتكرار (iterable) المعطى تُساوي القيمة True أو إن كان الكائن القابل للتكرار فارغًا. any()‎ القيمة True إن كان أحد عناصر الكائن القابل للتكرار (iterable) المعطى يساوي القيمة True أو إن كان الكائن القابل للتكرار فارغًا. ascii()‎ تمثيل (representation) نصي لكائن مُعيّنٍ يُمكن طباعته. bin()‎ تُحوّل عددًا صحيحًا (integer number) إلى سلسلةٍ نصيّةٍ ثنائيّة (binary string) مسبوقة بالمقطع النّصيّ "0b". bool()‎ قيمة منطقيّة تكون إمّا ...

Python/PEP

يعبر الاختصار PEP عن العبارة Python Enhancement Propsoal وتعني اقتراح تحسين في بايثون، وهو وثيقة تصميم تقدّم معلومات لمجتمع بايثون، أو تصف ميزة جديدة في بايثون أو عملياتها أو البيئة الخاصة بها. يجب أن يقدم اقتراح التحسين مواصفات تقنية موجزة ووافية للميزة مع شرح للمنطق الخاص بها. المرجع الصفحة المرجعية لاقتراحات التعديل

Python/macpath

أُلغيت هذه الوحدة في النسخة 3.7 وسيتم إزالتها نهائيا في الوحدة 3.8.

Python/fileinput

تحوي هذه الوحدة على صنف مساعد وتوابع تسمح بتسريع كتابة حلقة للمرور على الدخل المعياري أو على قائمة من الملفات. ( إن كنت تريد قراءة ملف واحد أو الكتابة عليه فيُنصح باستخدام التابع open لهذا الغرض). الاستخدام النموذجي import fileinput for line in fileinput.input(): process(line)

Python/namedtuple

تعطي الصفوف المسمّاة معنى لكل عنصر ضمن الصف، وينتج عن ذلك شيفرة أسهل في القراءة وموثّقة ذاتيًّا. يمكن استخدام الصفوف المسمّاة في أيّ مكان تستخدم فيه الصفوف العادية، وتمتاز بإمكانية الوصول إلى الحقول عن طريق الأسماء بدلًا من فهرس العنصر. البنية العامة تستخدم الدالة namedtuple()‎ لإنشاء الصفوف المسمّاة وصيغتها العامّة هي: namedtuple(typename, field_names, *, verbose=False, rename=False, module=None) تعيد هذه الدالة البانية صنفًا فرعيًا من الصنف tuple يحمل الاسم typename. يُستخدم الصنف الفرعي الجديد في إنشاء كائنات شبيهة بالصفوف تمتلك حقولًا ...

Python/tempfile

11.6. tempfile — توليد الملفات والمجلدات المؤقتة الشيفرة المصدرية تُنشئ هذه الوحدة ملفات ومجلدات مؤقتة، وتعمل على جميع المنصات المدعومة في بايثون، وتقدم الواجهات التالية TemporaryFile و NamedTemporaryFile و TemporaryDirectory و SpooledTemporaryFile  كواجهات عالية المستوى تدعم عملية تنظيف تلقائية ويمكن استخدامها كمدير سياق context manager، كما تقدم الوحدة تابعين mkstemp و mkdtemp منخفضي المستوى يحتاجان إلى التنظيف اليدوي بعد استخدامهما.

الأصناف في بايثون

تعدّ الأصناف وسيلة لجمع البيانات والعمليات في بوتقة واحدة، ويؤدي إنشاء صنف جديد إلى تكوين نوع جديد من الكائنات، ما يتيح إنشاء نسخ (instances) من ذلك النوع. يمكن أن ترتبط بكلّ صنف مجموعة من الخاصيات (attributes) التي تساعد في متابعة حالة الصنف، إضافة إلى مجموعة من التوابع (methods) التي تساعد في تعديل حالة ذلك الصنف. لو أجرينا مقارنة بين بايثون ولغات البرمجة الأخرى، سنجد بأنّ بايثون تضيف قدرًا ضئيلًا من الصياغات الجديدة إلى الأصناف؛ إذ تعتمد بايثون الأساليب المتّبعة في ...

Python/filecmp

تعرف هذه الوحدة توابع لمقارنة الملفات والمجلدات مع العديد من الخيارات للمقايضة بين دقة المقارنة والزمن المستغرق لها، كما يمكن استخدام الوحدة difflib لمقارنة الملفات.

Python/os.path

يُرجى الحذف، أُنشأت خطأً.

while في بايثون

تستخدم عبارة while لتكرار عملية التنفيذ ما دام الشرط المقدّم إلى هذه العبارة صحيحًا، وتأخذ عبارة while الصيغة التالية: while expression: statement مثال: >>> a, b = 0, 1 >>> while b < 10: ...     print(b) ...     a, b = b, a+b ... 1 1 2 3 5 8 تستمر هذه العبارة في تكرار تنفيذ الشيفرة ما دام الشرط صحيحًا True، أما إذا كان نتيجة الشرط خطأً False (قد يحدث ذلك في الدورة الأولى من الحلقة) فستنتقل عملية التنفيذ إلى عبارة else في حال وجودها، وتوقف اللغة ...

Python/len

تعيد الدّالة len()‎ طول (أي عدد عناصر) كائن مُعيّن. البنية العامة len(s) المعاملات s الكائن المُراد الحصول على عدد عناصره، يُمكن أن يكون سلسلة نصيّة، أو بايتات، أو صفًّا، أو قائمة، أو مجالًا. أو يُمكن أن يكون تجميعًا مثل قاموس، أو مجموعة، أو مجموعة جامدة. القيمة المعادة طول الكائن المُعطى، والذي يكون عددًا صحيحًا يُمثّل عدد العناصر الموجودة في الكائن. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> len('ABC') # سلسلة نصيّة 3 >>> len([1, 2, 3]) # قائمة 3 >>> len((1, 2, ...

مفسر بايثون

تشغيل المفسر عادة ما يُنصَّب مفسِّر بايثون في المسار ‎/usr/local/bin/python3.6 في أنظمة يونكس، ويؤدّي وضع هذا المسار ضمن مسار البحث الخاصّ بصدفة يونكس (Unix shell) إلى إمكانية استدعاء مفسّر بايثون عن طريق كتابة الأمر التالي في الصدفة: python3.6 ملاحظة: في أنظمة يونكس، لا يستخدم الاسم python افتراضيًا لاستدعاء مفسّر بايثون في الإصدارات ‎3.x‎ من اللغة، وذلك لتجنّب حدوث أي تضارب مع مفسّر الإصدارات ‎2.x من اللغة. يمكن تحديد مسار مفسِّر بايثون أثناء عملية التثبيت، وعادة ما يُستخدم المسار التالي: ‎/usr/local/python كمسار ...

Python/shutil

تقدم هذه الوحدة العديد من العمليات عالية المستوى على الملفات وتجمّعات الملفات، وتقدم على وجه الخصوص توابع لنسخ وحذف الملفات. يمكنك الرجوع إلى الوحدة os لعمليات على الملفات المفردة.

Python/Examples

هذه الصفحة هي تجميع منظم ومرتب لأمثلة بلغة بايثون الاستثناءات تحتوي هذه الفقرة على أمثلة يصدر فيها استثناءات. الاستثناء FileNotFoundError تُصدره بعض التوابع القارئة للملفات عند عدم وجود الملف >>> f=open('D:\\file.txt') Traceback (most recent call last): File "<pyshell#123>", line 1, in <module> f=open('D:\\file.txt') FileNotFoundError: [Errno 2] No such file or directory: 'D:\\file.txt' الاستثناء KeyError  يصدر عند محاولة الوصول إلى عنصر عن طريق مفتاح غير موجود في القاموس >>> a=dict() >>> a["test"]="good" >>> print(a["no key"]) Traceback ...

الوحدات في بايثون

يؤدي الخروج من مفسّر بايثون إلى فقدان جميع التعريفات (الدوال والمتغيّرات) التي جرى إنشاؤها سابقًا. ولهذا السبب يفضل استخدام محررات النصوص البرمجية في حال الرغبة بكتابة برامج وشيفرات طويلة، ثم إرسال هذه الشيفرة إلى المفسّر وتشغيلها فيه.  وعندما يبدأ حجم البرنامج بالازدياد تدريجيًا تظهر الحاجة إلى تقسيم الشيفرة إلى ملفات متعددة لتسهيل العمل عليها. وقد يحتاج المبرمج في مرحلة ما إلى استخدام دالة خاصة به في برامج متعدّدة دون أن يضطر إلى نسخ تعريف تلك الدالة في كلّ برنامج. تقدّم ...

Python/pathlib

  pathlib — وحدة مسارات نظام الملفات كائنية التوجه تقدم هذه الوحدة أصنافًا تمثّل مسارات نظام التشغيل مع دلالات ملائمة لمختلف أنظمة التشغيل، وقد أُضيفت هذه الوحدة إلى بايثون في النسخة 3.4. تحتوي هذه الوحدة على صنفين يسمحان بالتعامل مع المسارات، أحدهما للتعامل مع المسارات بشكلها النصي PurePath والآخر للقيام بعمليات الدخل والخرج على الملفات والمجلدات التي تشير إليها المسارات. صنف المسارات النقية PurePath يقدم هذا الصنف عمليات نصّية على المسارات دون أي عمليات إدخال أو إخراج، أي أنه لا ...

Python/filesys

11. الوصول إلى الملفات والمجلدات تتعامل الوحدات المشروحة ضمن هذا الفصل مع الملفات والمجلدات، فهناك وحدات لقراءة خصائص الملفات ومعالجة المسارات في أنظمة التشغيل المختلفة، وإنشاء الملفات المؤقتة. نورد فيما يلي قائمة بجميع الوحدات في هذا الفصل: 11.1. pathlib — مكتبة كائنية التوجه للتعامل مع مسارات نظام الملفات تحتوي هذه المكتبة الأصناف المختصة بالتعامل مع المسارات في مختلف أنظمة التشغيل 11.2. os.path — المعالجات الشائعة للمسارات تتضمن التوابع اللازمة للتعامل مع المسارات في نظام التشغيل الذي تعمل عليه بايثون، وفيها ...

الثوابت في بايثون

تقدم بايثون مجموعة من الثوابت، بعضها في مجال الأسماء الداخلي، أما البعض الآخر فيضاف من قبل الوحدة site إلى مفسّر بايثون التفاعلي. ثوابت في مجال الأسماء الداخلي False يمثّل هذا الثابت القيمة الخاطئة للنوع bool. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError عند محاولة القيام بذلك. True يمثّل هذا الثابت القيمة الصحيحة للنوع bool. لا تسمح اللغة بإسناد أي قيمة إلى هذا الثابت وستطلق الخطأ SyntaxError عند محاولة القيام بذلك. None هذا الثابت هو القيمة ...

Python/glob

تساعد هذه الوحدة في البحث عن جميع أسماء الملفات التي تطابق النمط المحدد وفق قواعد صدفة يونكس، وتعيد النتائج بترتيب عشوائي.

Python/linecache

تتيح وحدة linecache قراءة أسطر الملفات بفعالية، حيث تمت أمثلة العمليات ضمن هذه الوحدة باستخدام مبدأ الكاش cache التي تظهر فائدتها عند الحاجة إلى قراءة العديد من الأسطر من الملف، وتُستخدم هذه الوحدة ضمن الوحدة traceback التي تسترجع أسطرًا من شيفرات بايثون المصدرية لتضمينها ضمن رسالة الخطأ المنسقة. يُستخدم التابع tokenize.open لفتح الملفات، وهذا التابع يستخدم tokenize.detect_encoding لقراءة ترميز الملف في حال غياب الرمز الخاص بالترميز المستخدم، ويُعتبر الترميز الافتراضي للملفات هو UTF-8. مُلاحظة: تستخدم هذه الوحدة داخليًّا ضمن بايثون ...

Python/stat

يُعرّف الصنف stat ثوابت وتوابع لمعالجة نتيجة استدعاء التوابع os.stat()‎وos.fstat‎‎()‎  وos.lstat()‎ وكذلك بطبيعة الحال فهو يعالج نتائج التابع Path.stat‎()‎، ولا يتم إنشاء كائنات منه، فجميع التوابع والثوابت يمكن الوصول إليها مباشرة من الصنف. توابع الصنف stat لكشف نوع الملفات التابع stat.S_ISDIR للكشف عن كون النمط مشيرًا إلى مجلد. التابع stat.S_ISCHR للكشف عن كون النمط مشيرًا إلى ملف character special device. التابع stat.S_ISBLK للكشف عن كون النمط مشيرًا إلى ملف block special device. التابع stat.S_ISREG للكشف عن كون النمط مشيرًا إلى ...

Python/fnmatch

تُقدم هذه الوحدة دعمًا لwildcards المماثلة لنمط صدفة يونكس، وهي ليست نفسها التعابير النظامية Regular Expression (المذكورة في الوحدة re)، فالرموز الخاصة التي تستخدمها الwildcards من نمطصدفة يونكس هي التالية: النمط المعنى * يطابق كل شيء ? يطابق أي محرف مفرد [seq] يطابق أي محرف من المحارف المذكورة بين القوسين [seq!] يطابق أي محرف من المحارف المذكورة غير بين القوسين وفي حال الرغبة في مطابقة المحرف '?' حرفيًّا (وليس مدلوله الخاص) عندها يمكن وضعه بين قوسين مربعين [?].

الوحدة configparser‎‎ في بايثون

تقدّم هذه الوحدة الصنف ConfigParser الذي يستخدم لغة إعدادات بسيطة تقدّم بنية مشابهة للبنية التي تقدّمها ملفات INI في نظام Microsoft Windows. ويمكن استخدام هذا الصنف لكتابة برامج وتطبيقات يمكن للمستخدمين تخصيصها بكل سهولة. ملاحظة: لا تفسّر هذه المكتبة ولا تكتب لواحق قيمة-نوع التي يستخدمها إصدار سجلّ نظام ويندوز Windows Registry الموسّع بصيغة INI. بداية سريعة لنبدأ بملف الإعدادات البسيط التالي: [DEFAULT] ServerAliveInterval = 45 Compression = yes CompressionLevel = 9 ForwardX11 = yes [bitbucket.org] User = hg [topsecret.server.com] Port = 50022 ForwardX11 = no يتكوّن الملف بصورة أساسية من ...

الدالة elementAtOrElse()‎ في Kotlin

تجلب الدالة elementAtOrElse()‎ عنصرًا ذي فهرس معيَّن من المصفوفة أو المجموعة التي استُدعيت معها. إن كان الفهرس المعطى خارج حدود المصفوفة أو المجموعة، فستُعيد الدالة ناتج استدعاء دالة معينة. البنية العامة يمكن استدعاء الدالة elementAtOrElse()‎ مع المصفوفات: inline fun <T> Array<out T>.elementAtOrElse( index: Int, defaultValue: (Int) -> T ): T inline fun ByteArray.elementAtOrElse( index: Int, defaultValue: (Int) -> Byte ): Byte inline fun ShortArray.elementAtOrElse( index: Int, ...

الدالة sumBy()‎ في Kotlin

تجمع الدالة sumBy()‎ جميع نواتج تطبيق دالة معيَّنة على كل عنصر من عناصر المصفوفة أو المجموعة التي استُدعيت معها. الفرق بين الدالة sumBy()‎ والدالة sumByDouble()‎ هو في نوع القيمة التي تستطيع الدالة الممرَّر إلى كلٍّ منهما إعادتها، إذ تعيد الدالة المُمرَّرة إلى sumBy()‎ عددًّا صحيحًا (integer) بينما يمكن أن تعيد الدالة الممرَّرة إلى sumByDouble()‎ عددًا عشريًّا مضاعفًا (double).  البنية العامة يمكن استدعاء الدالة sumBy()‎ مع المصفوفات والمجموعات: inline fun <T> Array<out T>.sumBy(selector: (T) -> Int): Int inline fun ByteArray.sumBy(selector: (Byte) -> Int): Int inline ...

الدالة count()‎ في Kotlin

تعيد الدالة count()‎ عدد جميع عناصر المصفوفة أو المجموعة أو الخريطة التي استُدعيت معها أو العناصر التي تحقق شرطًا معينًا. البنية العامة إن استدعيت الدالة count()‎ مع مصفوفة دون تمرير أي معامل، فستعيد عدد عناصر هذه المصفوفة. inline fun <T> Array<out T>.count(): Int inline fun ByteArray.count(): Int inline fun ShortArray.count(): Int inline fun IntArray.count(): Int inline fun LongArray.count(): Int inline fun FloatArray.count(): Int inline fun DoubleArray.count(): Int inline fun BooleanArray.count(): Int inline fun CharArray.count(): Int وإن استدعيت مع تمرير الدالة predicate المنطقيَّة ...

الدالة sort()‎ في Kotlin

ترتِّب الدالة sort()‎ المصفوفة أو القائمة المتغيرة (MutableList) التي استُدعيت معها تصاعديًّا. البنية العامة إن لم يمرَّر أي وسيط إلى الدالة sort()‎، فسترتِّب جميع عناصر المصفوفة أو القائمة المتغيرة التي استدعيت معها: fun IntArray.sort() fun LongArray.sort() fun ByteArray.sort() fun ShortArray.sort() fun DoubleArray.sort() fun FloatArray.sort() fun CharArray.sort() inline fun <T : Comparable<T>> Array<out T>.sort() (source) fun <T : Comparable<T>> MutableList<T>.sort() أمَّا إن استدعيت الدالة sort()‎ مع تمرير وسيطين عددين، فسترتِّب المجال الذي يحدده هذين الوسيطين داخل المصفوفة التي استدعيت معها (بيئة التشغيل: JVM): fun <T> ...

الدالة copyOfRange()‎ في Kotlin

تنسخ الدالة copyOfRange()‎ مجالًا محدَّدًا من المصفوفة التي استُدعيت معها. البنية العامة inline fun <T> Array<T>.copyOfRange( fromIndex: Int, toIndex: Int ): Array<T> inline fun ByteArray.copyOfRange( fromIndex: Int, toIndex: Int ): ByteArray inline fun ShortArray.copyOfRange( fromIndex: Int, toIndex: Int ): ShortArray inline fun IntArray.copyOfRange( fromIndex: Int, toIndex: Int ): IntArray inline fun LongArray.copyOfRange( fromIndex: ...

الدالة binarySearch()‎ في Kotlin

تبحث الدالة binarySearch()‎ عن عنصر معين في المجموعة أو مجال من المجموعة (Collection) باستخدام خوارزميَّة البحث الثنائي (binary search algorithm) وتعيد فهرس موقعه. ويجب أن تكون المجموعة مرتبَّةً وفق المُقارِن comparator وإلا فستكون النتيجة المعادة غير مُحدّدة. إن احتوت المصفوفة على عناصر متساوية، فلا يمكن التوقع أيها سيُعاد. تُعيد الدالة فهرس العنصر المبحوث عنه إن كان موجودًا في المجال المحدَّد؛ خلاف ذلك، فستعيد القيمة السالبة لنقطة الإدراج (‎-insertion point - 1‎)، وهي الفهرس حيث يجب أن يُدرج العنصر حتى تبقى ...

الدالة getOrElse()‎ في Kotlin

تجلب الدالة getOrElse()‎ عنصرًا ذا فهرس مُحدَّد من المصفوفة أو المجموعة التي استُدعيت معها أو القيمة المقابلة لمفتاح محدَّد إن استدعيت مع خريطة. إن كان الفهرس المعطى يقع خارج حدود المصفوفة أو المجموعة أو كان المفتاح المعطى غير موجود في الخريطة، فسيُعاد ناتج استدعاء دالة معيَّنة معطاة. البنية العامة يمكن استدعاء الدالة getOrElse()‎ مع المصفوفات: inline fun <T> Array<out T>.getOrElse( index: Int, defaultValue: (Int) -> T ): T inline fun ByteArray.getOrElse( index: ...

الدالة fill()‎ في Kotlin

تبدِّل الدالة fill()‎ قيمة جديدة معطاة مكان عناصر محدَّدة في المصفوفة أو القائمة التي تستدعى معها. البنية العامة يمكن استدعاء الدالة fill()‎ مع المصفوفات: fun <T> Array<T>.fill( element: T, fromIndex: Int = 0, toIndex: Int = size) fun ByteArray.fill( element: Byte, fromIndex: Int = 0, toIndex: Int = size) fun ShortArray.fill( element: Short, ...

الدالة lastIndexOf()‎ في Kotlin

تجلب الدالة lastIndexOf()‎ فهرس آخر ظهور لعنصر محدَّد من المصفوفة أو المجموعة أو القائمة التي استُدعيت معها. البنية العامة يمكن استدعاء الدالة lastIndexOf()‎ مع المصفوفات، والمجموعات والقوائم: fun <T> Array<out T>.lastIndexOf(element: T): Int fun ByteArray.lastIndexOf(element: Byte): Int fun ShortArray.lastIndexOf(element: Short): Int fun IntArray.lastIndexOf(element: Int): Int fun LongArray.lastIndexOf(element: Long): Int fun FloatArray.lastIndexOf(element: Float): Int fun DoubleArray.lastIndexOf(element: Double): Int fun BooleanArray.lastIndexOf(element: Boolean): Int fun CharArray.lastIndexOf(element: Char): Int fun <T> Iterable<T>.lastIndexOf(element: T): Int fun <T> List<T>.lastIndexOf(element: T): Int القيم المعادة يعاد فهرس آخر ظهور للعنصر المعطى والموجود في المصفوفة أو المجموعة أو القائمة المعطاة، أو القيمة ‎-1 إن لم ...

الدالة intdiv()‎ في PHP

(PHP 7) تعيد الدالة intdiv()‎ العدد الصحيح لحاصل قسمة العددين المُمرَّرين إليها. الوصف int intdiv ( int $dividend , int $divisor ) تعيد هذه الدالة العدد الصحيح لحاصل قسمة القيمة العدديَّة للمقسوم dividend على القيمة العدديَّة للمقسوم عليه divisor. المعاملات dividend المقسوم. divisor المقسوم عليه. القيم المعادة يُعاد العدد الصحيح لحاصل قسمة القيمة العدديَّة للمعامل dividend على القيمة العدديَّة للمعامل divisor. الأخطاء والاستثناءات إن كانت قيمة المقسوم عليه هي 0، فسيرمى الاستثناء DivisionByZeroError؛ وإن كانت قيمة المقسوم هي PHP_INT_MIN والمقسوم عليه ...

الدالة intdiv()‎ في PHP

(PHP 7) تعيد الدالة intdiv()‎ العدد الصحيح لحاصل قسمة العددين المُمرَّرين إليها. الوصف int intdiv ( int $dividend , int $divisor ) تعيد هذه الدالة العدد الصحيح لحاصل قسمة القيمة العدديَّة للمقسوم dividend على القيمة العدديَّة للمقسوم عليه divisor. المعاملات dividend المقسوم. divisor المقسوم عليه. القيم المعادة يُعاد العدد الصحيح لحاصل قسمة القيمة العدديَّة للمعامل dividend على القيمة العدديَّة للمعامل divisor. الأخطاء والاستثناءات إن كانت قيمة المقسوم عليه هي 0، فسيرمى الاستثناء DivisionByZeroError؛ وإن كانت قيمة المقسوم هي PHP_INT_MIN والمقسوم عليه ...

الدالة ()os.getpgid في بايثون

تُعيد الدالة مُعرِّف المجموعة للعملية ذات المُعرِّف المُمرَّر. البنية العامة getpgid(pid) حيث الوسيط pid هو مُعرِّف العملية المُراد الحصول على مُعرِّف المجموعة الخاص بها. الدالة متوافرة في أنظمة يونكس. القيمة المعادة تُعيد الدالة نوع عددي صحيح يُمثِّل مُعرِّف المجموعة للعملية ذات المُعرِّف المُمرَّر للوسيط pid. سيُعاد مُعرِّف المجموعة للعملية الحالية في حال مُرِّرَت القيمة 0 للوسيط pid. أمثلة يُوضِّح المقتطف أدناه مثالين لاستخدام الدالة ()os.getpgid للحصول على مُعرِّف مجموعة العملية الحالية: في المثال الأوَّل عبر تمرير القيمة 0 للوسيط pid، بينما ...

التابع TarFile.addfile()‎‎ في بايثون

يضيف التابع كائن TarInfo المعطى إلى ملف الأرشيف. البنية العامة TarFile.addfile(tarinfo, fileobj=None) ‎المعاملات ‎fileobj معامل اختياري يجب أن تكون قيمته ملفًّا ثنائيًا، وتُقرأ عدد البايتات في tarinfo.size من هذا الملف وتضاف إلى الأرشيف. يمكن إنشاء كائنات TarInfo مباشرة، أو باستخدام التابع gettarinfo()‎. القيمة المعادة يعيد التابع القيمة None. أمثلة يبين المثال التالي آلية عمل التابع: >>> import tarfile >>> tar = tarfile.open('files.tar', 'w') >>> tar_info = tar.gettarinfo('file5.js') >>> tar.addfile(tar_info) انظر أيضًا التابع TarFile.add()‎: يضيف التابع الملف المعطى إلى ملف الأرشيف. التابع TarFile.gettarinfo()‎: ينشئ ...

التابع TarFile.getnames()‎‎ في بايثون

يعيد التابع قائمة بأسماء الأعضاء في الأرشيف. البنية العامة TarFile.getnames() القيمة المعادة يعيد التابع قائمة بأسماء الأعضاء في الأرشيف، وتأخذ القائمة المعادة نفس ترتيب القائمة المعادة من التابع getmembers()‎. أمثلة يبين المثال التالي آلية عمل التابع: >>> import tarfile >>> tar = tarfile.open('files.tar') >>> tar.getnames() ['file1.txt', 'file2.html', 'file3.py'] انظر أيضًا التابع TarFile.getmember()‎: يعيد التابع كائن TarInfo لعضو ملف الأرشيف المعطى. التابع TarFile.getmembers()‎: يعيد التابع أعضاء الأرشيف على هيئة قائمة من كائنات TarInfo. مصادر صفحة Read and write tar archive files في توثيق بايثون ...

التابع bytes.isspace()‎ في بايثون

يتحقق هذا التابع ممّا إذا كانت جميع البايتات في التسلسل الثنائي هي بايتات المسافة البيضاء في ترميز ASCII، ومن أنّ التسلسل ليس فارغًا. البنية العامة bytes.isspace() القيمة المعادة يعيد التابع القيمة True إذا كانت جميع البايتات في التسلسل الثنائي هي بايتات المسافة البيضاء في ترميز ASCII، وإذا كان التسلسل غير فارغٍ. بايتات المسافة البيضاء في ترميز ASCII هي البايتات التي تقع ضمن التسلسل: ‎b' \t\n\r\x0b\f'‎، والموضح في الجدول التالي: قيمة البايت الوصف b' '‎ مسافة (space). ‎b'\t'‎ علامة جدولة (tab). ...

التابع bytes.rfind()‎ في بايثون

يعيد التابع أعلى قيمة للفهرس في التسلسل الأصلي حيث تجد فيه التسلسل الفرعي. البنية العامة str.rfind(sub[, start[, end]]) المعاملات sub التسلسل الفرعي المراد معرفة موقعه. يمكن أن يكون هذا المعامل أي كائن شبيه بالبايتات (bytes-like object) أو عددًا صحيحًا يبدأ من 0 وينتهي بالعدد 255. start الموقع الذي يبدأ منه التابع عملية البحث ضمن التسلسل الأصلي. end الموقع الذي ينهي فيه التابع عملية البحث ضمن التسلسل الأصلي. يسلك هذان المعاملان الاختياريان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing. ...

عمليات المجموعات في بايثون

تقدّم بايثون مجموعة من العمليات الخاصة بالمجموعات والمجموعات الجامدة. العمليات المشتركة بين المجموعات والمجموعات الجامدة تدعم المجموعات والمجموعات الجامدة في بايثون العمليات الموضّحة في الجدول التالي: العملية الوصف ملاحظات len(s)‎ تعيد الدالة عدد العناصر الموجودة في المجموعة، أو ما يعرف في الرياضيات بالمصطلح cardinality. x in s يتحقق هذا العامل من أن العنصر x ينتمي إلى المجموعة s. x not in s يتحقق هذا العامل من أن العنصر x لا ينتمي إلى المجموعة s. set <= other يتحقّق هذا العامل ...

التابع deque.copy()‎ في بايثون

ينشئ التابع نسخة سطحية من كائن deque. البنية العامة d.‎copy() القيمة المعادة يعيد التابع كائن deque جديد يمثّل نسخة سطحية عن كائن dequeالأصلي. أمثلة يبين المثال التالي آلية عمل التابع. يلاحظ أنّ كائني deque أدناه يمتلكان معرّفين مختلفين، ولكنّ عناصرهما تمتلك المعرّفات نفسها: >>> import collections >>> t1 = (1, 2, 3, 4, 5) >>> d1 = collections.deque(t1) >>> d2 = d1.copy() >>> print (d1) deque([1, 2, 3, 4, 5]) >>> print(d2) deque([1, 2, 3, 4, 5]) >>> print(id(d1)) 140310509291624 >>> print(id(d2)) 140310509291520 >>> print(id(d1[0])) 140310800147520 >>> print(id(d2[0])) 140310800147520 انظر أيضًا التابع clear()‎:  :يحذف جميع ...

عرض (500 السابقة | 500 التالية) (20 | 50 | 100 | 250 | 500).