نتائج البحث

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

دفع التابع لأسفل (Push Down Method)

المشكلة هل السلوك المُنفَّذ في الصنف الأب مُستخدمٌ في صنف فرعي واحد فقط (أو أكثر)؟ الحل نقل هذا السلوك إلى الأصناف الفرعية. مثال قبل إعادة التصميم التابع ()getFuel الموجود في الصنف Unit الأب مُستخدم في صنف فرعي واحد فقط الذي هو Tank: التابع الموجود في الصنف الأب مُستخدم في صنف فرعي واحد فقط. بعد إعادة التصميم نقل التابع ()getFuel من الصنف الأب إلى الصنف الفرعي المستخدم فيه: نقل هذا التابع إلى الصنف الفرعي الذي يُستخدم فيه. لم إعادة التصميم؟ في ...

سحب التابع لأعلى (Pull Up Method)

المشكلة تحتوي الأصناف الفرعية على توابع تؤدي نفس العمل. الحل جعل التوابع متطابقة ثم نقلها إلى الصنف الأعلى ذي الصلة. مثال قبل إعادة التصميم يحتوي الصنفان الفرعيان Soldier و Tank على التابع ()getHealth الذي يؤدي نفس العمل: تحتوي الأصناف الفرعية على التابع ()getHealth تؤدي نفس العمل. بعد إعادة التصميم نقل التابع ()getHealth إلى الصنف Unit الأب وإزالته من الأصناف الفرعية: نقل التابع ()getHealth إلى الصنف الأعلى. لم إعادة التصميم؟ تنمو الأصناف الفرعية وتتطور بشكل مستقل عن بعضها البعض، مما يتسبب ...

التابع call‎ الخاص بالصنف Method في روبي

يستدعي call كتلة التابع الذي استٌدعي معه، ويضبط وسائط الكتلة عند القيم المُمرَّرة إليه باستخدام صياغة مشابهة لصياغة استدعاء التوابع ثم يعيد قيمة آخر تعبير تم تقييمه في الكتلة. لاحظ أن ‎prc.()‎ يستدعي prc.call()‎ مع تمرير المعاملات المعطاة. وهي صياغة مختصرة لإخفاء التابع "call". بالنسبة للكائنات procs التي تم إنشاؤها باستخدام lambda أو ‎->()‎‎‎، سيُطلق خطأ إذا كان عدد المعاملات الممررة إلى proc غير صحيح. بالنسبة للكائنات proc التي تم إنشاؤها باستخدام Proc.new أو Kernel.proc ، سيتم تجاهل المعاملات الإضافية ...

مفسر بايثون

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

الدالة weakref.WeakMethod()‎ في بايثون

صنف فرعي خاصّ من الصنف ref يحاكي إشارة ضعيفة إلى تابع مرتبط bound method (أي تابع معرف في صنف وجرى البحث عنه في نسخة من ذلك الصنف). ملاحظة: هذا الصنف جديد في الإصدار 3.4. البنية العامة class weakref.WeakMethod(method) المعاملات dict التابع المراد إنشاء محاكاة لإشارة ضعيفة إليه. التوابع المرتبطة سريعة الزوال ما يمنع من تمسّك الإشارات الضعيفة العادية بها. يمتلك الصنف WeakMethod طريقة خاصة لإعادة إنشاء التابع المرتبط والإبقاء عليه إلى أن يموت الكائن أو الدالة الأصلية: >>> class C: ... ...

Python/types

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

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

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

Python/pathlib/WindowsPath

 الصنف pathlib.WindowsPath في بايثون هو الصنف الخاص الذي يتم إنشاؤه في أنظمة ويندوز للتعامل مع المسارات مع السماح بالقيام بعمليات إدخال وإخراج عن طريق استدعاءات النظام. يمكن إنشاء كائن من هذا الصنف بإحدى طريقتين: 1- عن طريق استخدام الباني الخاص بالصنف WindowsPath في أي نظام تشغيل >>> windows_path_object=WindowsPath() >>> windows_path_object WindowsPath('.') 2- عن طريق استخدام الباني الخاص بالصنف العام Path عند العمل في نظام ويندوز حصرًا >>> OSdependant_path_object=Path() >>> OSdependant_path_object WindowsPath('.') ملاحظة: في نظام لينوكس سيعطي المثال السابق كائنًا من الصنف PosixPath بدلًا من WindowsPath ...

Python/pathlib/PosixPath

 الصنف pathlib.PosixPath في بايثون هو الصنف الخاص الذي يتم إنشاؤه في الأنظمة المغايرة لويندوز للتعامل مع المسارات مع السماح بالقيام بعمليات إدخال وإخراج عن طريق استدعاءات النظام. يمكن إنشاء كائن من هذا الصنف بإحدى طريقتين: 1- عن طريق استخدام الباني الخاص بالصنف PosixPath في أي نظام تشغيل >>> posix_path_object=PosixPath() >>> posix_path_object PosixPath('.') 2- عن طريق استخدام الباني الخاص بالصنف العام Path عند العمل في نظام ويندوز حصرًا >>> OSdependant_path_object=Path() >>> OSdependant_path_object PosixPath('.') ملاحظة: في نظام ويندوز سيعطي المثال السابق كائنًا من الصنف WindowsPath بدلًا من ...

Python/filesys

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

Python/namedtuple

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

التابع Request.get_method()‎‎ في بايثون

يعيد التابع سلسلة نصية تحدّد الطريقة المتّبعة في إرسال طلب HTTP. البنية العامة Request.get_method() ‎القيمة المعادة يعيد التابع سلسلة نصية تحدّد الطريقة المتّبعة في إرسال طلب HTTP. يعيد التابع قيمة الخاصية Request.method إن لم تكن قيمتها None، أما إن كانت قيمة الخاصية هي None فإنّ التابع سيعيد 'GET'، ويعيد القيمة 'POST' إن لم تكن قيمة الخاصية هي None، وهذا السلوك مفيد في طلبات HTTP فقط. ملاحظة: ينظر التابع في قيمة الخاصية Request.method في الإصدار 3.3 وما بعده من بايثون. أمثلة ...

التابع ConfigParser.optionxform()‎‎ في بايثون

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

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

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

التابع datetime.time()‎ في بايثون

يستدعى هذا التابع عند استخدام التابع datetime.astimezone()‎ بالطريقة الافتراضية. وعند استدعائه من هناك، يكون dt.tzinfo هو الكائن نفسه self، ويُنظر إلى بيانات التاريخ والوقت في الكائن dt على أنّها تعرض الوقت حسب التوقيت العالمي المنسّق. البنية العامة ‎tzinfo.fromutc(dt) الهدف من التابع formutc()‎ هو تعديل بيانات الوقت والتاريخ وإعادة كائن datetime مكافئ حسب التوقيت المحليّ للكائن نفسه self. يجب على الأصناف الفرعية من tzinfo أن تكون قادرةً على وراثة طريقة الاستخدام الافتراضية للتابع fromutc()‎ دون أي مشاكل، وذلك لأنّ هذا التابع ...

الدالة urllib.parse.urljoin()‎‎ في بايثون

تبني الدالة عنوان URL كاملًا (مطلقًا) عن طريق دمج عنوان URL الأساسي base URL المعطى، مع عنوان URL آخر. البنية العامة urllib.parse.urljoin(base, url, allow_fragments=True) ‎المعاملات base عنوان URL الأساسي. url عنوان URL المراد دمجه بالعنوان الأساسي. allow_fragments إن أخذ هذا المعامل قيمة خاطئة، فلن تتعرّف الدالة حينئذٍ على محدّدات القطع fragment identifiers، وتحلّل كجزء من مكونات المسار أو المعاملات أو الاستعلام، وتعين سلسلة نصية فارغة كقيمة للقطع في القيمة التي تعيدها الدالة. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> ...

الصنف urllib.request.Request‎‎ في بايثون

يعدّ هذا الصنف تجريدًا abstraction لطلب URL. البنية العامة urllib.request.Request(url, data=None, headers={}, origin_req_host=None, unverifiable=False, method=None) المعاملات ‎url يجب أن يكون سلسلة نصية تحتوي على عنوان URL صالح للاستخدام. data يجب أن يكون كائنًا يحدّد المعلومات الإضافية التي ستُرسل إلى المخدّم، أو يحمل القيمة None في حال انتفاء الحاجة إلى إرسال مثل هذه المعلومات. يستخدم هذا المعامل من قبل طلبات HTTP فقط في الوقت الحاضر. أنواع الكائنات المدعومة هي كائنات bytes، والكائنات الشبيهة بالملفات file-like objects، والكائنات القابلة للتكرار iterables. في ...

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

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

التابع HTTPRedirectHandler.redirect_request()‎‎ في بايثون

يعيد التابع كائن Request أو القيمة None استجابةً لعملية إعادة توجيه. البنية العامة HTTPRedirectHandler.redirect_request(req, fp, code, msg, hdrs, newurl) يُستدعى التابع عند استخدام التوابع http_error_30*()‎ بالطريقة الافتراضية عند استقبال عملية إعادة توجيه من المخدّم. إن أجريت عملية إعادة التوجيه، فإنّ التابع سيعيد كائن Request جديدًا وذلك للسماح لتوابع http_error_30*()‎ بإعادة التوجيه إلى العنوان الجديد newurl. إن لم يحدث ما سبق فحاول إطلاق الاستثناء HTTPError إن لم يُعالج هذا العنوان من قبل أيّ معالج آخر، أو أعد القيمة None إن لم تتمكن ...

التابع ZipFile.writestr()‎‎ في بايثون

يكتب التابع البيانات النصية المعطاة في الأرشيف. البنية العامة ZipFile.writestr(zinfo_or_arcname, data, compress_type=None, compresslevel=None) ‎المعاملات ‎zinfo_or_arcname يأخذ هذا المعامل إحدى قيمتين، فإمّا أن يكون اسم الملف في الأرشيف، أو نسخة من الصنف ZipInfo. في حال كانت القيمة المعطاة هي نسخة من الصنف فيجب على الأقل تعيين قيمة للمعاملات filename و date و time على الأقل. أما إن كانت القيمة المعطاة هي اسم الملف، فسيعتمد التابع الوقت والتاريخ الحاليين. يجب أن يكون الأرشيف مفتوحًا في الوضع 'w' أو 'x' أو 'a'. compress_type ...

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