نتائج البحث

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

تبديل التابع إلى كائن التابع (Replace Method with Method Object)

المشكلة وجود تابعٍ طويلٍ بالكثير من المتغيِّرات المحليّة (local variables) المتداخلة والتي تحول دون تطبيق تقنية الحل باستخراج التابع (extract method). الحل نقل التابع إلى صنفٍ (class) مستقلٍ بحيث تصبح متغيِّراته المحليّة حقولًا (fields) لهذا الصنف، وتقسيم التابع بعد ذلك إلى عدّة توابع أصغر في الصنف ذاته. مثال قبل إعادة التصميم نلاحظ وجود العديد من المتغيِّرات المحليّة في التابع price()‎ بالإضافة إلى عملياتٍ أخرى قد تكون طويلةً ومعقَّدة: في لغة Java: class Order { //... public double price() ...

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

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

استخراج التوابع (Extract Methods)

المشكلة وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل نقل الشيفرة إلى تابعٍ (method) أو دالةٍ (function) جديدة والاستعاضة عن الجزء (بمكانه السابق) باستدعاءٍ لهذا التابع الجديد. مثال قبل إعادة التصميم نلاحظ وجود جزء من الشيفرة لطباعة بعض البيانات (التفاصيل)، والتي يمكن عزلها بتابعٍ جديد، الشيفرة قبل إعادة التصميم بالشكل: في لغة Java: void printOwing() { printBanner(); // طباعة التفاصيل System.out.println("name: " + name); System.out.println("amount: " + getOutstanding()); } في لغة #C: void PrintOwing() { PrintBanner(); ...

الصنف Method في روبي

يتم إنشاء كائنات الصنف Method بواسطة التابع Object.method، وترتبط بكائن معين (وليس بالصنف وحسب). ويمكن استخدامها لاستدعاء التابع داخل الكائن، أو ككتلة (block) مرتبطة بمكرر (iterator). كما يمكن فك ارتباطها (unbound) من كائن محدد (سيؤدي ذلك إلى إنشاء الكائن UnboundMethod) ثم ربطها بآخر. class Thing def square(n) n*n end end thing = Thing.new meth = thing.method(:square) meth.call(9) #=> 81 [ 1, 2, 3 ...

تعريف التوابع الدخيلة (Introduce Foreign Methods)

المشكلة الحاجة إلى تابعٍ غير موجودٍ في الصنف المساعد (utility class) ومن غير الممكن إضافته إلى ذلك الصنف. الحل إضافة التابع المطلوب إلى صنف العميل (client class) وتمرير كائنٍ (object) من الصنف المساعد إليه كوسيط (argument). مثال قبل إعادة التصميم يحتوي الصنف Report تابعًا باسم sendReport والذي يستخدم الصنف المساعد Date لإنشاء تاريخ اليوم التالي عبر إضافة القيمة 1 إلى اليوم الحالي، كما يلي: في لغة Java: class Report { //... void sendReport() { Date ...

إنشاء التوابع (Composing Methods)

تستهدف إعادة التصميم بشكل رئيسيٍّ إنشاء التوابع الصحيحة المناسبة، إذ تكون التوابع الطويلة سببًا للمشاكل في كثيرٍ من الحالات، وتجعل شيفرات بعض التوابع منطق التنفيذ (execution logic) غامضًا ويصبح التابع بهذا عصيَّ الفهم من جهةٍ وصعب التغييرٍ من جهة ثانية. يشمل هذا القسم من الحلول كلَّ ما يتعلق بالتوابع وإزالة التكرار (duplicates) في الشيفرة ليسمح بإجراء التطويرات المستقبليّة، وهذه التقنيات هي: استخراج التوابع (Extract Methods) المشكلة: وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل: نقل الشيفرة إلى تابعٍ (method) ...

نقل التابع (Move Method)

المشكلة استخدام التابع (method) في صنفٍ (class) ما أكثر من استخدامه في صنفه الأساسيّ. الحل إنشاء تابعٍ جديدٍ في الصنف الأكثر استخدامًا لذلك التابع ونقل شيفرته إلى التابع الجديد، ثم تحويل الشيفرة في التابع الأصليّ إلى مرجعيّةٍ للتابع الجديد في الصنف الآخر أو حذفه كليَّا. مثال قبل إعادة التصميم يستخدِم الصنفُ Class2 التابعَ aMethod()‎ أكثر مما يستخدمه صنفه الأساسيّ Class1: يستخدِم الصنفُ Class2 التابعَ aMethod()‎ أكثر مما يستخدمه صنفه الأساسيّ Class1. بعد إعادة التصميم نُقِل التابع aMethod()‎ إلى الصنف ذي ...

إخفاء التابع (Hide Method)

المشكلة لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به. الحل جعل التابع خاصًا أو محميًا. مثال قبل إعادة التصميم لا يستخدم التابع ()aMethod من قبل أصناف أخرى غير الصنف Employee المعرف فيه: لا يُستخدم التابع من قِبل الأصناف الأخرى أو يستخدم فقط داخل التسلسل الهرمي للصنف الخاص به. بعد إعادة التصميم جعل التابع ()aMethod خاصًّا ومحميًّا بإخفائه عن الأصناف الأخرى: جعل التابع خاصًا أو محميًا. لم إعادة التصميم؟ في كثير من الأحيان، ...

إنشاء التوابع (Composing Methods)

تستهدف إعادة التصميم بشكل رئيسيٍّ إنشاء التوابع الصحيحة المناسبة، إذ تكون التوابع الطويلة سببًا للمشاكل في كثيرٍ من الحالات، وتجعل شيفرات بعض التوابع منطق التنفيذ (execution logic) غامضًا ويصبح التابع بهذا عصيَّ الفهم من جهةٍ وصعب التغييرٍ من جهة ثانية. يشمل هذا القسم من الحلول كلَّ ما يتعلق بالتوابع وإزالة التكرار (duplicates) في الشيفرة ليسمح بإجراء التطويرات المستقبليّة، وهذه التقنيات هي: استخراج التوابع (Extract Methods) المشكلة: وجود أجزاء من الشيفرة يُمكن عزلها وتجميعها سويةً. الحل: نقل الشيفرة إلى تابعٍ (method) ...

التوابع الطويلة (Long Methods)

توصيف المشكلة تنتُج هذه المشكلة عن احتواء شيفرة التابع على الكثير من الأسطر؛ فهو أمرٌ يدعو للتساؤل حقًا إن كان التابع بأكثر من 10 أسطر! لِمَ؟ أسبابها إنَّ ما يحدث دائمًا أنْ يُضاف للتابع لا أن يُحذَف منه! وذلك لسهولة كتابة الإضافات للشيفرة مقارنةً مع قراءتها، ولن تظهر هذه المشكلة واضحةً إلا بعد تفاقمها ووصولها لحدِ لا يُحتمَل، وكذلك يجد المبرمج أنَّ كتابة تابعٍ جديدٍ أكثرُ مشقّةً من الإضافة لتابعٍ موجودٍ مسبقًا، إذ يفكر: "هما سطران وحسب، ولا داعي لتخصيص ...

استبدال المعامل بتوابع صريحة (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 ...

تبديل المعاملات باستدعاءات التوابع (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 ...

تحويل التوابع إلى معاملات (Parameterize Method)

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

المعامل ===‎ الخاص بالصنف Method في روبي

يستدعي المعامل === كتلة التابع مع تمرير الكائن الواقع على يمينه كوسيط إلى المعامل الواقع على يساره كما هو الحال في Proc.call. هذا يَسمح لكائنٍ من النوع proc أن يكون هدفًا للكتلة when في التعليمة case. البنية العامة proc === obj→ result_of_proc‎ القيمة المعادة تعاد نتيجة الوسيط proc. انظر أيضا التابع ==: يتحقق من تساوي كائنين من النوع Method. مصادر قسم التابع ===‎ في الصنف Method‎ في توثيق روبي الرسمي.

إعادة تسمية التوابع (Rename Method)

المشكلة لا يعبِّر اسم التابع عن ما يقوم به. الحل إعادة تسمية التابع. مثال قبل إعادة التصميم لا يفسر اسم التابع ()getsnm في الصنف Customer ما يقوم به. لا يفسر اسم التابع ما يقوم به. بعد إعادة التصميم إعادة تسمية التابع ()getsnm إلى ()getSecondName الذي يصف ما يقوم به. يفسر اسم التابع ما يقوم به. لم إعادة التصميم؟ ربما كانت تسمية تابعٍ ما سيئة من البداية - على سبيل المثال، أنشأ شخصٌ ما التابع في عجلة ولم يهتم كفاية بتسميته ...

المعامل ‎[]‎‎ الخاص بالصنف Method في روبي

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

المعامل ==‎ الخاص بالصنف Method في روبي

يتحقق المعامل == من تساوي كائنين من النوع Method. يكون كائنان من النوع Method متساويين إن كانا مرتبطين بنفس الكائن، وكانا لهما نفس التعريف، وكان لهما نفس الصنف أو الوحدة (module) المالكة. البنية العامة meth == other_meth → true or false‎ القيمة المعادة تُعاد القيمة true إن كان الكائنان متساويين، وإلا فستُعاد القيمة false. انظر أيضا التابع ===: يستدعي كتلة التابع مع تمرير الكائن الواقع على يمينه كوسيط إلى المعامل الواقع على يساره كما هو الحال في Proc.call. مصادر قسم ...

طريقة الاستعمال وتشغيل الأمثلة في Node.js

البنية العامة node [options] [V8 options] [script.js | -e "script" | - ] [arguments] راجع رجاءً توثيق خيارات سطر الأوامر للمزيد من المعلومات عن الخيارات والطرائق التي يمكن استعمالها لتشغيل السكربتات وتنفيذها مع Node.js. تشغيل الأمثلة سنشرح مثالًا عن إنشاء خادم ويب باستعمال Node.js يُظهِر العبارة 'مرحبًا بالعالم!' في المتصفح. تبدأ الأوامر المستعملة في هذا المثال بالمحرف $ أو < وذلك لمحاكاة كيفيَّة ظهورها في طرفيَّة المستخدم، لذا لا تضف هذين المحرفين إلى الأوامر عند نسخها واستعمالها. توجد الكثير من الدروس ...

ازالة توابع الإعدادات (Remove Setting Method)

المشكلة يكون تعيين قيمة الحقل فقط عند إنشائه، ولا تتغير في أي وقت لاحق. الحل إزالة التوابع التي تضبط قيمة الحقل. مثال قبل إعادة التصميم يضبط التابع ()setImmutableValue قيمةً غير قابلة للتغيير أو التعديل في المستقبل: يغيّر التابع من قيمة الحقل. بعد إعادة التصميم حذف التابع ()setImmutableValue من الصنف Customer: إزالة التابع الذي يضبط قيمة الحقل. لم إعادة التصميم؟ إذا كنت تريد منع أي تغييرات في قيمة الحقل. آلية الحل يجب أن تكون قيمة الحقل قابلة للتغيير فقط في الباني. ...

تبسيط استدعاءات التوابع (Simplifying Method Calls)

تجعل التقنيات التي سيشار إليها في هذا القسم استدعاءات التوابع أبسط وأسهل للفهم والاستيعاب. سيؤدي ذلك بدوره إلى تبسيط الواجهات للتفاعل بين الأصناف. هذه التقنيات هي: إعادة تسمية التوابع (Rename Method) المشكلة: لا يعبِّر اسم التابع عن ما يقوم به. الحل: إعادة تسمية التابع. إضافة المعاملات (Add Parameter) المشكلة: لا يملك التابع بيانات كافية لتنفيذ بعض الإجراءات. الحل: إنشاء معامل جديد لتمرير البيانات الضرورية. حذف المعاملات (Remove Parameter) المشكلة: لا يُستخدم معاملٌ ما في متن التابع. الحل: إزالة المعامل غير ...

دفع التابع لأسفل (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 ...

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

يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف datetime. البنية العامة ‎datetime.timestamp() القيمة المعادة يعيد التابع الختم الزمني (بصيغة POSIX) الموافق لنسخة الصنف datetime. تكون النتيجة المعادة عددًا ذا فاصلة عائمة يشبه ذلك المعاد من التابع time.time()‎. يُفترض بكائنات datetime البسيطة أن تمثّل الوقت حسب التوقيت المحلّي، ويعتمد هذا التابع على دالة mktime()‎ في لغة C لإجراء عملية التحويل. ولمّا كان كائن datetime يدعم نطاقًا أوسع من القيم مقارنة بالدالة maktime()‎ في عدد من المنصّات، فإنّ هذا التابع يطلق ...

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

لا تنشئ عبارات الإسناد في بايثون نسخة من الكائنات، بل تربط بين الهدف والكائن. ولكن تظهر الحاجة إلى إنشاء نسخ من الكائنات في المجموعات التي تكون قابلة للتعديل أو التي تتضمّن عناصر قابلة للتعديل، بحيث يكون بالإمكان تغيير نسخة دون انتقال تلك التغييرات إلى الكائن الآخر. دوال الوحدة copy تقدّم هذه الوحدة مجموعة من عمليات النسخ السطحية والعميقة. copy.copy(x)‎ تعيد الدالة نسخة سطحية من الكائن المعطى. copy.deepcopy(x)‎ تعيد الدالة نسخة عميقة من الكائن المعطى. exception copy.error يُطلق هذا الاستثناء عند ...

Python/pathlib/PureWindowsPath

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

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

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

Python/linecache/lazycache

التابع linecache.lazycache يحصل هذا التابع على المعلومات الكافية عن وحدة غير معتمدة على الملف" non-file-based" بحيث تكون جاهزة لقراءة أسطرها لاحقًا باستخدام التابع getline حتى لو كان المعامل module_globals غير مُسند ضمن معاملات getline، مما يسمح بتجنب عمليات الكتابة والقراءة إلى حين وجود حاجة حقيقية دون الحاجة إلى الاحتفاظ بالمعامل module_globals ضمن الشيفرة البرمجية. البنية العامة linecache.lazycache(filename, module_globals) المعاملات المعامل filename اسم الملف المُراد وضعه بالكاش بطريقة كسولة. المعامل module_globals قاموس (dict) يحتوي على مفتاحين __name__ و __loader__ يُستخدمان ضمن ...

التابع tzinfo.dst()‎ في بايثون

يعيد التابع مقدار التعديل لنظام التوقيت الصيفي (DST). البنية العامة ‎tzinfo.dst(dt) القيمة المعادة يعيد التابع مقدار التعديل لنظام التوقيت الصيفي (DST). يعيد التابع كائن timedelta يمثّل مقدار التعديل لنظام التوقيت الصيفي (DST)، ويعيد القيمة None إن لم تكن معلومات التوقيت الصيفي معروفة، ويعيد timedelta(0)‎ إن لم يكن التوقيت الصيفي مفعّلًا. أما لو كان التوقيت الصيفي مفعّلًا، فإنّ التابع يعيد كائن timedelta (راجع التابع utcoffset()‎ للمزيد من التفاصيل). يجب الانتباه إلى أنّ مقدار إزاحة التوقيت الصيفي - إن كان مطبّقًا - ...

الدالة gzip.compress()‎ في بايثون

تضغط الدالة البيانات المعطاة وتعيد كائن bytes يتضمّن البيانات المضغوطة. البنية العامة gzip.compress(data, compresslevel=9) المعاملات ‎data البيانات المراد ضغطها. compresslevel يحدّد المعامل compresslevel مستوى الضغط بنفس الطريقة المعتمدة في الدالة البانية لكائنات GzipFile. ملاحظة: هذه الدالة جديدة في الإصدار 3.2 من بايثون. أمثلة يبين المثال التالي طريقة ضغط سلسلة نصية ثنائية: import gzip s_in = b"Lots of content here" s_out = gzip.compress(s_in) انظر أيضًا الدالة gzip.decompress()‎: تفكّ الدالة الضغط عن البيانات المعطاة وتعيد كائن bytes يتضمّن البيانات غير المضغوطة. مصادر صفحة Support ...

استبدال المُنشئ بتابع التصميم (Replace Constructor with Factory Method)

المشكلة لديك مُنشئ (constructor) معقد يقوم بما هو أكثر من مجرد وضع قيم المعامل في حقول الكائن. الحل إنشاء تابع تصميم واستخدامه لاستبدال استدعاءات المُنشئ. مثال قبل إعادة التصميم وجود منشئ معقد للصنف Employee: في لغة Java: class Employee { Employee(int type) { this.type = type; } //... } في لغة C#‎: public class Employee { public Employee(int type) { this.type = type; } //... } في لغة PHP: class ...

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 هو أي عدد موجب أو سالب لا يتضمن ...

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

هذه الدالة مشابهة للدالة unquote()‎ ولكنّها تستبدل علامات + بالمسافات البيضاء، وهذا هو المطلوب عند إلغاء الاقتباس من قيم نماذج HTML. البنية العامة urllib.parse.unquote_plus(string, encoding='utf-8', errors='replace') ‎المعاملات string السلسلة النصية المراد فكّ ترميزها. encoding و errors يحدّد هذان المعاملان الاختياريان طريقة فكّ ترميز التسلسلات المرمّزة بترميز النسبة المئوية إلى حروف يونيكود، وبنفس الطريقة المتّبعة في التابع bytes.decode()‎. يأخذ المعامل encoding القيمة الافتراضية ‎'‎utf-8'‎، أما المعامل 'errors' فيأخذ القيمة الافتراضية 'replace' والتي تعني أن التسلسلات غير الصالحة للاستخدام ستُستبدل بحروف أخرى. ...

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

تحوّل الدالة الحروف المهرّبة بالصيغة ‎%xx إلى الحروف الأصلية المكافئة لها. البنية العامة urllib.parse.unquote(string, encoding='utf-8', errors='replace') ‎المعاملات string السلسلة النصية المراد فكّ ترميزها. encoding و errors يحدّد هذان المعاملان الاختياريان طريقة فكّ ترميز التسلسلات المرمّزة بترميز النسبة المئوية إلى حروف يونيكود، وبنفس الطريقة المتّبعة في التابع bytes.decode()‎. يأخذ المعامل encoding القيمة الافتراضية ‎'‎utf-8'‎، أما المعامل 'errors' فيأخذ القيمة الافتراضية 'replace' والتي تعني أن التسلسلات غير الصالحة للاستخدام ستُستبدل بحروف أخرى. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.parse >>> ...

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

قد تكون التعابير البرمجية في الشيفرة صحيحة من ناحية الصيغة، لكن قد يؤدي تنفيذ تلك الشيفرة إلى التسبب في حدوث الأخطاء. تسمّى الأخطاء المُكتشفة أثناء تنفيذ الشيفرة بالاستثناءات (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' ...

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

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

تنسيق المخرجات في بايثون

تقدّم بايثون عددًا من الطرائق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل.  استخدمنا في هذا التوثيق طريقتين لكتابة القيم: الأول هي العبارات expression statements والدالة print()‎. (هناك طريقة ثالثة وهي استخدام التابع write()‎ الخاص بالكائنات file، ويعرف ملف المخرجات القياسي بـ sys.stdout).  تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى ...

تنسيق المخرجات في بايثون

تقدّم بايثون عددًا من الطرائق التي تساعد في تنسيق مخرجات البرامج، فيمكن طباعة البيانات بصيغة سهلة القراءة، أو يمكن كتابة البيانات في ملف لاستخدامه في المستقبل.  استخدمنا في هذا التوثيق طريقتين لكتابة القيم: الأول هي العبارات expression statements والدالة print()‎. (هناك طريقة ثالثة وهي استخدام التابع write()‎ الخاص بالكائنات file، ويعرف ملف المخرجات القياسي بـ sys.stdout).  تظهر الحاجة في كثير من الأحيان إلى التحكم في تنسيق المخرجات وإظهارها بأشكال مختلفة وليس كقيم مفصولة بفراغات وحسب. وهناك طريقتان لتنسيق المخرجات، الأولى ...

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

يستدعي هذا التابعُ التابعَ Cursor.execute()‎ مع تمرير المعاملات المعطاة. البنية العامة execute(sql[, parameters]) ‎ المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع execute()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') c = conn.cursor() symbol = 'RHAT' c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol) انظر أيضًا التابع Connection.excutemany()‎: ...

Python/pathlib/PurePosixPath

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

الصنف datetime.tzinfo()‎ في بايثون

هذا الصنف هو صنف أساسي مجرّد abstract base class، وهذا يعني أنّه لا يمكن إنشاء نسخة منه بصورة مباشرة، بل يجب اشتقاق صنف فرعي منه يتضمّن (على الأقل) توابع tzinfo القياسية التي ستُستخدم من طرف توابع الصنف datetime. تقدّم وحدة datetime الصنف timezone وهو صنف فرعي محدّد concrete بسيط من الصنف tzinfo، يمكن عن طريقه تمثيل المناطق الزمنية باستخدام مقدار إزاحة ثابت عن التوقيت العالمي المنسّق، مثل التوقيت العالمي المنسّق نفسه، أو توقيتي EST و EDT في أمريكا الشمالية. يمكن ...

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

تحلل الدالة سلسلة الاستعلام النصية المعطاة كسلسلة معاملات نصية string argument (بيانات من نوع application/x-www-form-urlencoded). تعاد البيانات على هيئة قائمة أزواج اسم، قيمة. البنية العامة urllib.parse.parse_qsl(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None) ‎المعاملات keep_blank_values راية تحدد إذا ما كان المطلوب معاملة القيم الفارغة في سلاسل الاستعلام المرمّزة بالنسبة المئوية percent-encoded queries على أنّها سلاسل نصية فارغة. تشير القيمة الصحيحة لهذا المعامل إلى أنّ الفراغات ستبقى سلاسل نصية فارغة، أما القيمة الخاطئة (وهي القيمة الافتراضية) فتشير إلى أن القيم الفارغة ستُتجاهل من ...

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

يستدعي هذا التابعُ التابعَ Cursor.executemany()‎ مع تمرير المعاملات المعطاة. البنية العامة executemany(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executemany()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), ...

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

يستدعي هذا التابعُ التابعَ Cursor.executemany()‎ مع تمرير المعاملات المعطاة. البنية العامة executemany(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executemany()‎ في كائن المؤشر مع تمرير المعاملات المعطاة، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') purchases = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00), ...

تعريف الأصناف في بايثون

أبسط صيغة لتعريف الأصناف في بايثون هي: class ClassName:     <statement-1>     .     .     .     <statement-N> تعريف الأصناف كما هو الحال مع عبارات تعريف الدوال (عبارات def) يجب تنفيذ عبارات تعريف الأصناف حتى يكون لها الأثر المطلوب. يمكن تعريف الأصناف في بايثون ضمن عبارات if أو حتى داخل الدوال. عادة ما تستخدم الدوال داخل تعريف الصنف، ولكن من الممكن استخدام أنواع أخرى من العبارات، وتمتلك الدوال داخل الأصناف مجموعة من الوسائط الخاصّة بعملية استدعاء التوابع في بايثون. ...

تعريف الأصناف في بايثون

أبسط صيغة لتعريف الأصناف في بايثون هي: class ClassName:     <statement-1>     .     .     .     <statement-N> تعريف الأصناف كما هو الحال مع عبارات تعريف الدوال (عبارات def) يجب تنفيذ عبارات تعريف الأصناف حتى يكون لها الأثر المطلوب. يمكن تعريف الأصناف في بايثون ضمن عبارات if أو حتى داخل الدوال. عادة ما تستخدم الدوال داخل تعريف الصنف، ولكن من الممكن استخدام أنواع أخرى من العبارات، وتمتلك الدوال داخل الأصناف مجموعة من الوسائط الخاصّة بعملية استدعاء التوابع في بايثون. ...

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

تقدّم كائنات الاتصال Connection عددًا من الخصائص والتوابع التي تساعد المستخدم في التعامل مع قواعد بيانات SQLite، كالاتصال بقاعدة البيانات وتحميل الملحقات وإنشاء النسخ الاحتياطية وغيرها. تنشأ كائنات الاتصال كنتيجة لاستدعاء الدالة sqlite3.connect()‎. خصائص كائنات الاتصال تمتلك كائنات الاتصال بقواعد البيانات SQLite الخصائص التالية: الخاصية isolation_level يمكن استخدام هذه الخاصية لمعرفة مستوى العزل الافتراضي الحالي أو تعيينه. تأخذ الخاصية القيمة None لنمط الحفظ التلقائي autocommit أو إحدى القيم "DEFERRED" أو "IMMEDIATE" أو "EXCLUSIVE". راجع قسم التحكم بالإجراءات للمزيد من المعلومات. ...

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

تقدّم كائنات الاتصال Connection عددًا من الخصائص والتوابع التي تساعد المستخدم في التعامل مع قواعد بيانات SQLite، كالاتصال بقاعدة البيانات وتحميل الملحقات وإنشاء النسخ الاحتياطية وغيرها. تنشأ كائنات الاتصال كنتيجة لاستدعاء الدالة sqlite3.connect()‎. خصائص كائنات الاتصال تمتلك كائنات الاتصال بقواعد البيانات SQLite الخصائص التالية: الخاصية isolation_level يمكن استخدام هذه الخاصية لمعرفة مستوى العزل الافتراضي الحالي أو تعيينه. تأخذ الخاصية القيمة None لنمط الحفظ التلقائي autocommit أو إحدى القيم "DEFERRED" أو "IMMEDIATE" أو "EXCLUSIVE". راجع قسم التحكم بالإجراءات للمزيد من المعلومات. ...

الصنف configparser.ConfigParser()‎‎ في بايثون

تعدّ هذه الكائنات المفسّر الرئيسي لملفات الإعدادات. البنية العامة configparser.ConfigParser(defaults=None, dict_type=dict, allow_no_value=False, delimiters=('=', ':'), comment_prefixes=('#', ';'), inline_comment_prefixes=None, strict=True, empty_lines_in_values=True, default_section=configparser.DEFAULTSECT, interpolation=BasicInterpolation(), converters={}) المعاملات ‎defaults معامل اختياري، تهيّئ قيمته إلى القاموس الذي يحتوي على القيم الافتراضية الداخلية. dict_type معامل اختياري، يُستخدم في إنشاء كائنات القاموس لقائمة الأقسام، وللخيارات التي ينطوي عليها القسم، وللقيم الافتراضية. delimiters معامل اختياري يُستخدم كمجموعة السلاسل النصية الفرعية التي تقسم المفاتيح عن القيم. comment_prefixes معامل اختياري، يُستخدم كمجموعة السلاسل النصية الفرعية التي تسبق التعليقات التي تكتب في ...

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

تحلل الدالة سلسلة الاستعلام المعطاة كسلسلة من المعاملات (بيانات من نوع application/x-www-form-urlencoded). تعاد البيانات على هيئة قاموس، تكون مفاتيحه أسماء متغيرات الاستعلام وقيمه قوائم تضمّ قيم كل اسم من أسماء المتغيرات. البنية العامة urllib.parse.parse_qs(qs, keep_blank_values=False, strict_parsing=False, encoding='utf-8', errors='replace', max_num_fields=None) ‎المعاملات keep_blank_values راية تحدد إذا ما كان المطلوب معاملة القيم الفارغة في سلاسل الاستعلام المرمّزة بالنسبة المئوية percent-encoded queries على أنّها سلاسل نصية فارغة. تشير القيمة الصحيحة لهذا المعامل إلى أنّ الفراغات ستبقى سلاسل نصية فارغة، أما القيمة الخاطئة (وهي القيمة ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

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

يقسم هذا التابع البيانات الثنائية عند آخر ظهور للقيمة التي يحدّدها المستخدم. البنية العامة str.rpartition(sep) المعاملات sep يحدّد هذا المعامل الفاصل الذي سيعتمده التابع في تقسيم البيانات الثنائية. القيمة المعادة يعيد هذا التابع صفًّا مكوّنًا من ثلاثة عناصر، الأول هو جزء السلسلة الذي يسبق الفاصل، والثاني هو الفاصل نفسه أو نسخة عنه من نوع مصفوفة البايتات، والثالث هو الجزء الذي يلي الفاصل. في حال عدم العثور على الفاصل يعيد التابع صفًّا مكوّنًا من ثلاثة عناصر، الأوّل هو نسخة من التسلسل ...

تعابير lambda في بايثون

يمكن إنشاء دوال لا تحمل أسماء باستخدام الكلمة المفتاحية lambda، وتأخذ هذه الدوال الصيغة التالية: lambda arguments: expression تسلك هذه الصيغة المختصرة سلوك دالة معرفة بالطريقة التالية: def <lambda>(arguments): return expression على سبيل المثال، تعيد الدالة التالية مجموع الوسيطين الخاصين بها: lambda a, b: a+b يمكن استخدام دوال lambda عند الحاجة إلى كائنات الدالة (function objects)، وتأخذ هذه الدوال تعبيرًا واحدًا فقط، وهي تعدّ صيغةً مختصرةً للطريقة الاعتيادية في تعريف الدوال. كما هو الحال مع تعريفات الدوال المتداخلة، يمكن لدوال ...

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

يقسم هذا التابع البيانات الثنائية عند آخر ظهور للقيمة التي يحدّدها المستخدم. البنية العامة str.rpartition(sep) المعاملات sep يحدّد هذا المعامل الفاصل الذي سيعتمده التابع في تقسيم البيانات الثنائية. القيمة المعادة يعيد هذا التابع صفًّا مكوّنًا من ثلاثة عناصر، الأول هو جزء السلسلة الذي يسبق الفاصل، والثاني هو الفاصل نفسه أو نسخة عنه من نوع مصفوفة البايتات، والثالث هو الجزء الذي يلي الفاصل. في حال عدم العثور على الفاصل يعيد التابع صفًّا مكوّنًا من ثلاثة عناصر، الأوّل هو نسخة من التسلسل ...

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

تعيد الدّالة super()‎ كائنًا وسيطًا يُفوّض استدعاءات التّوابع إلى صنف أبٍ أو صنف شقيق للصّنف الذي استُدعيَت منه الدّالة. هذا مُفيد للوصول إلى التّوابع الموروثة التي أعيدت كتابتها في صنف مُعيّن. ترتيب البحث يكون هو نفسه التّرتيب المُستخدم من طرف الدّالة getattr()‎ لكنّ النّوع type‎ المُعطى يُتجاهَل. البنية العامة super([type[, object-or-type]]) المعاملات type النّوع الذي ستقوم الدّالة super()‎ بتفويض استدعاءات التّوابع إلى صنف أبٍ أو صنف شقيق له. تعرض الخاصيّة __mro__ الخاصّة بالصّنف type ترتيب البحث عن التوابع (method resolution ...

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

يستدعي هذا التابعُ التابعَ Cursor.executescript()‎ مع تمرير المعاملات المعطاة. البنية العامة executescript(sql_script) ‎المعاملات sql_script سلسلة نصية تتضمن شيفرة SQL المراد تنفيذها. القيمة المعادة هذا التابع هو طريقة مختصرة لإنشاء كائن مؤشر عن طريق استدعاء التابع cursor()‎، حيث يستدعي التابع executescript()‎ في كائن المؤشر مع تمرير قيمة المعامل sql_script، ثم يعيد كائن المؤشر. أمثلة يبين المثال التالي آلية عمل التابع: import sqlite3 conn = sqlite3.connect('example.db') conn.executescript(""" insert into recipe (name, ingredients) values ('broccoli stew', 'broccoli peppers cheese tomatoes'); ...

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

يعيد التابع البايتات التابعة للملف المعطى في الأرشيف. البنية العامة ZipFile.read(name, pwd=None) ‎المعاملات ‎name اسم الملف في الأرشيف، أو كائن ZipInfo. يجب أن يكون الأرشيف مفتوحًا للقراءة أو للإلحاق. pwd كلمة المرور المستخدمة للملفات المعماة، وإن جرى تعيين قيمة لهذا المعامل فإنّها ستعيد تعريف override كلمة المرور الافتراضية المعيّنة بواسطة التابع setpassword()‎. القيمة المعادة يعيد التابع البايتات التابعة للملف المعطى في الأرشيف. يؤدي استدعاء التابع read()‎ على كائن ZipFile يستخدم طريقة ضغط غير الطريقة ZIP_STORED أو ZIP_DEFLATED أو ZIP_BZIP2 أو ...

التابع array.buffer_info()‎ في بايثون

يعيد التابع صفًّا بهيئة يتضمّن الموقع الحالي في الذاكرة والطول بعدد العناصر في الذاكرة المؤقتة buffer والمستخدمة لاستيعاب محتويات المصفوفة. البنية العامة ‎array.buffer_info() القيمة المعادة يعيد التابع صفًّا بهيئة (عنوان، طول) يتضمّن الموقع الحالي في الذاكرة والطول بعدد العناصر في الذاكرة المؤقتة والمستخدمة لاستيعاب محتويات المصفوفة. يمكن حساب حجم الذاكرة المؤقتة بالبايتات بواسطة التعبير array.buffer_info()[1] * array.itemsize، وهذا مفيد في بعض الأحيان وخصوصًا عند العمل مع واجهات إدخال وإخراج ذات مستوى واطئ (وغير آمنة بطبيعة الحال) والتي تحتاج إلى عناوين ...

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

تقدّم وحدة copyreg طريقة لتعريف دوال تستخدم أثناء سلسلة كائنات معيّنة في بايثون. تستخدم وحدتا pickle و copy هذه الدوال عند سلسلة أو نسخ تلك الكائنات. تقدّم الوحدة كذلك معلومات إعدادات حول الدوال البانية للكائنات التي ليست أصنافًا. يمكن لهذه الدوال البانية أن تكون دوال منشئة للكائنات factory functions أو نسخًا للأصناف. دوال الوحدة copyreg تقدّم الوحدة copyreg الدوال التالية: الدالة ‎copyreg.constructor()‎ تصرّح هذه الدالة عن كون الكائن المعطى دالة بانية صحيحة. إن كان الكائن المعطى غير قابل للاستدعاء (وهكذا ...

الدالة webbrowser.open()‎‎ في بايثون

تعرض الدالة العنوان المعطى في المتصفّح الافتراضي. البنية العامة webbrowser.open(url, new=0, autoraise=True) ‎ المعاملات ‎url العنوان المراد فتحه في المتصفّح. new معامل اختياري، يمكن أن يأخذ القيمة 0 وحينئذٍ يُفتح العنوان المعطى في نفس نافذة المتصفّح إن كان ذلك ممكنًا. وإن أخذ القيمة 1، تفتح الدالة نافذة متصفّح جديدة إن كان ذلك ممكنًا، وإن أخذ المعامل القيمة 2 فإنّ الدالة تفتح صفحة متصفّح (tab) جديدة إن كان ذلك ممكنًا. autoraise إن أخذ هذا المعامل القيمة True، فإنّ نافذة المتصفّح ستُعرض ...

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

تتيح وحدة wekref إنشاء إشارات ضعيفة weak references للكائنات. سنستخدم مصطلح الكائن المشار إليه للتعبير عن الكائن الذي يُشار إليه بإشارة ضعيفة. لا تكون الإشارة الضعيفة إلى كائن معيّن كافية للإبقاء عليه، فعندما لا تبقى إلا الإشارات الضعيفة إلى الكائن المشار إليه، فلا يوجد ما يمنع مجموعة garbage من تدمير الكائن المشار إليه وإعادة استخدام الذاكرة التي يشغلها لأمر آخر. ولكن إلى حين تدمير الكائن فإنّ بإمكان الإشارة الضعيفة أن تعيد الكائن حتى في حال عدم وجود أي إشارات قوية ...

التابع HTTPErrorProcessor.http_response()‎‎ في بايثون

يعالج التابع استجابات HTTPS التي تتتضمّن أخطاءً، ويعمل بنفس طريقة عمل التابع http_resonse()‎. البنية العامة HTTPErrorProcessor.https_response(request, response) مصادر صفحة Extensible library for opening URLs في توثيق بايثون الرسمي.

التابع Cursor.execute()‎ في بايثون

ينفّذ التابع جملة SQL المعطاة. البنية العامة execute(sql[, parameters]) ‎المعاملات sql سلسلة نصية تتضمن جملة SQL المراد تنفيذها. يمكن استخدام جمل تتضمن معاملات (أي استخدام محتوى نائب placeholder عوضًا عن الحروف). تدعم وحدة sqlite3 نوعين من المحتويات النائبة، هما: علامة الاستفهام (نمط qmark) ومحتوى نائب مسمّى (نمط التسمية). ينفّذ تابع execute()‎ جملة SQL واحدة، ويطلق التابع تحذيرًا في حال استخدام أكثر من جملة واحدة. يمكن استخدام التابع executescript()‎ لتنفيذ جمل متعددة في استدعاء واحد. أمثلة يبين المثال التالي طريقة استخدام ...

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

تُحوّل الدّالة staticmethod()‎ تابعًا إلى تابعٍ ساكن (static method). البنية العامة staticmethod(fun) @staticmethod المعاملات fun الدّالة أو التّابع المُراد تحويله إلى تابعٍ ساكن. القيمة المعادة يُحوّل التّابع المُزخرَف إلى تابعٍ ساكن لا يستقبل مُعاملًا أولًا صريحًا (المُعامل المعروف بالاسم self في التّوابع). أمثلة المثال التّالي يوضّح كيفيّة إنشاء تابع ساكن باستعمال الدّالة staticmethod كمُزخرِف: >>> class A: ... @staticmethod ... def hello(): # لاحظ أنّ التّابع السّاكن لا يستقبل أيّ مُعامل تلقائيّ كما في التّوابع ...

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

تُقدّم الوحدة functools دوال عاليّة الرّتبة (higher-order functions)، وهي دوال تستقبل دوالا أخرى، تُغيّرها، أو تُعيد دوال أخرى. وعلى العموم، يُمكن لأيّ كائن قابل للاستدعاء أن يُعامل مُعاملة الدّالة عند استخدام هذه الوحدة. تُعرّف الوحدة functools الدّوال التّاليّة: functools.cmp_to_key()‎ تُحوّل دالّةَ مُقارنة (comparison function) إلى دالّة مفتاح (key function). functools.partial()‎ تُستعمل لإنشاء دالّة جزئيّة من دالّة بتمرير قيم افتراضيّة ثابتة لها. functools.reduce()‎ تُطبّق دالّةً تأخذ مُعاملين بتراكب لعناصر الكائن القابل للتّكرار المُعطى، من اليسار إلى اليمين لتخفيض العناصر إلى قيمة ...

الصنف csv.DictReader()‎‎ في بايثون

تنشئ الدالة البانية لهذا الصنف كائنًا يعمل كقارئ عادي ولكنّه يربط المعلومات في كل سطر بقاموس مرتّب OrderedDict تحدّد مفاتيحه بواسطة المعامل الاختياري fieldnames. البنية العامة csv.DictReader(f, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds) ‎المعاملات ‎f ملف csv المراد قرائته. fieldnames معامل اختياري، وهو عبارة عن تسلسل. إن لم يُستخدم هذا المعامل فإنّ القيم الموجودة في السطر الأول من الملف المفتوح ستُستخدم كأسماء للحقول. وبصرف النظر عن طريقة تحديد أسماء الحقول فإنّ القاموس المرتّب سيحافظ دائمًا على ترتيبها الأصلي. restkey إن ...

الدالة shelve.open()‎ في بايثون

تفتح الدالة قاموسًا مستمرًّا. البنية العامة shelve.open(filename, flag='c', protocol=None, writeback=False) ‎المعاملات filename اسم الملف الأساسي لقاعدة البيانات الداخلية. يمكن إضافة امتداد إلى اسم الملف ويمكن أيضًا إنشاء ملفات متعددة. تفتح الدالة افتراضيًا ملف قاعدة البيانات الداخلي في وضعي القراءة والكتابة. flag معامل اختياري وهو مشابه للمعامل flag في الدالة dbm.open()‎. protocol تستخدم الوحدة افتراضيًا الإصدار 3 من pickle لسلسلة القيم، ويمكن تحديد إصدار بروتوكول السَلسَلة باستخدام المعامل protocol. writeback لا يستطيع الرفّ -بسبب طبيعة لغة بايثون- معرفة اللحظة التي تجرى ...

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

يحوّل التابع جميع علامات الجدولة في ترميز ASCII إلى مسافة بيضاء واحدة أو أكثر في الترميز ذاته. البنية العامة bytes.expandtabs(tabsize=8) المعاملات tabsize يحدّد مواقع علامات الجدولة في التسلسل الثنائي (القيمة الافتراضية هي 8، فتكون مواقع علامات الجدولة في الأعمدة 0، 8، 16 وهكذا). القيمة المعادة يعيد التابع expandtabs()‎ نسخة من التسلسل الثنائي بعد تحويل جميع علامات الجدولة بترميز ASCII إلى مسافة بيضاء واحدة أو أكثر من الترميز ذاته، وذلك بالاعتماد على العمود الحالي وحجم علامة الجدولة المحدد بواسطة المعامل tabsize. ...

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

تعيد الدّالة functools.partialmethod()‎ واصفًا يتصرّف مثل كائنات partial، إلّا أنّه مُصمّم ليُستخدم كتعريف تابع (method definition) عوضًا عن أن يكون قابلا للاستدعاء (callable) مُباشرة. البنية العامة functools.partialmethod(func, *args, **keywords) المعاملات func واصفٌ أو كائن قابل للاستدعاء (تُعامل الكائنات التي تجتمع فيها الصّفتان على أنّها واصفات، مثل الدّوال). عندما يكون func واصفًا (مثل دالّة بايثون عاديّة، أو الدّالة classmethod()‎، أو الدّالة staticmethod()‎، أو نسخة أخرى من partialmethod)، فستُفوّض استدعاءات الخاصيّة ‎__get__‎ إلى الواصف المنشأ، وسيُعاد كائن partial كنتيجة. عندما يكون func ...

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

يحوّل التابع جميع علامات الجدولة في ترميز ASCII إلى مسافة بيضاء واحدة أو أكثر في الترميز ذاته. البنية العامة bytes.expandtabs(tabsize=8) المعاملات tabsize يحدّد مواقع علامات الجدولة في التسلسل الثنائي (القيمة الافتراضية هي 8، فتكون مواقع علامات الجدولة في الأعمدة 0، 8، 16 وهكذا). القيمة المعادة يعيد التابع expandtabs()‎ نسخة من التسلسل الثنائي بعد تحويل جميع علامات الجدولة بترميز ASCII إلى مسافة بيضاء واحدة أو أكثر من الترميز ذاته، وذلك بالاعتماد على العمود الحالي وحجم علامة الجدولة المحدد بواسطة المعامل tabsize. ...

الدالة validate.validator()‎‎ في بايثون

تغلّف هذه الدالة التطبيق المعطى وتعيد كائن تطبيق WSGI جديد، وسيوجّه التطبيق المعاد جميع الطلبات إلى التطبيق الأصلي، وسيتحقّق من أنّ كلًّا من التطبيق والمخدّم الذي يستدعيه متوافقان مع معايير WSGI وللبروتوكول RFC 2616. يؤدي وجود أيّ حالة من حالات عدم التوافق إلى إطلاق الخطأ AssertionError، ولكن يجب الانتباه إلى أنّ طريقة التعامل مع هذه الأخطاء تعتمد على المخدّم، فعلى سبيل المثال يعطي المخدّم wsgiref.simple_server و المخدّمات المستندة على أصناف الوحدة wsgiref.handlers (والتي لا تعيد تعريف توابع التعامل مع الأخطاء ...

الوحدة 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 يتكوّن الملف بصورة أساسية من ...

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

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

الدالة calendar.firstweekday()‎ في بايثون

تعيد الدالة الإعدادات الحالية الخاصة باليوم الذي يبدأ به الأسبوع. البنية العامة ‎calendar.firstweekday() القيمة المعادة تعيد الدالة الإعدادات الحالية الخاصة باليوم الذي يبدأ به الأسبوع. أمثلة يبين المثال التالي طريقة استخدام الدالة: >>> import calendar >>> calendar.firstweekday() 1 انظر أيضًا الدالة setfirstweekday()‎: تعيّن الدالة اليوم الذي يبدأ به الأسبوع. مصادر صفحة General calendar-related functions في توثيق بايثون الرسمي.

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

يغلق التابع كائن TarFile. في وضع الكتابة، يلحق التابع بالأرشيف كتلتين من أصفار الإنهاء finishing zero block. البنية العامة TarFile.close() ‎أمثلة يبين المثال التالي طريقة استخدام التابع: >>> import tarfile >>> tar = tarfile.open('files.tar', 'w') >>> tar.close() انظر أيضًا التابع TarFile.open()‎: دالة بانية بديلة لكائنات TarFile. مصادر صفحة Read and write tar archive files في توثيق بايثون الرسمي.

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

يعيّن التابع كلمة المرور المعطاة ككلمة مرور الافتراضية لاستخراج الملفات المعمّاة من الأرشيف. البنية العامة ZipFile.setpassword(pwd) ‎المعاملات ‎pwd كائن bytes يحتوي كلمة المرور. القيمة المعادة يعيد التابع القيمة None. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import zipfile >>> zip = zipfile.ZipFile('files.zip') >>> zip.setpassword(b'1234') None مصادر صفحة Work with ZIP archives في توثيق بايثون الرسمي.

الوحدة wsgiref.headers()‎‎ في بايثون

تقدّم هذه الوحدة الصنف Headers والذي يُستخدم لمعالجة ترويسات الاستجابة response headers في WSGI وذلك باستخدام طريقة مشابهة للقواميس. الصنف wsgiref.headers.Headers تنشئ الدالة البانية لهذا الصنف كائنًا شبيهًا بالقواميس يغلّف الترويسة المعطاة، ويجب أن تكون الترويسة على هيئة قائمة من صفوف (الاسم/القيمة) كما هو موصوف في PEP 3333. مصادر قسم WSGI response header tools في صفحة WSGI Utilities and Reference Implementation في توثيق بايثون الرسمي.

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

تقدّم هذه الوحدة عددًا من الأدوات التي تستخدم بواسطة سكربتات CGI المكتوبة في بايثون. مقدمة تنفّذ سكربتات CGI بواسطة مخدّم HTTP وتستخدم عادة لمعالجة مدخلات المستخدم المرسلة إلى المخدّم من خلال عنصر <FORM> أو <ISINDEX> في HTML. تستقرّ سكربتات CGI معظم الأحيان في المجلد الخاص cgi-bin في المخدّم، ويضع مخدّم HTTP جميع المعلومات المرتبطة بالطلب (مثل اسم المضيف لدى العميل، عنوان URL المطلوب، سلسلة الاستعلام النصية، وغير ذلك الكثير) في بيئة الصدفة الخاصة بالسكربت، وينفّذ السكربت ثم يرسل مخرجاته إلى ...

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

تنشئ هذه الدالة البانية لكائنات weakref إشارة ضعيفة إلى الكائن المعطى. البنية العامة weakref.ref(object[, callback]) المعاملات object الكائن المراد إنشاء إشارة ضعيفة إليه. callback في حال توفّر قيمة للمعامل callback ولم يأخذ القيمة None وكان كائن weakref المعاد حيًّا، فسيُستدعى callback عندما يوشك الكائن على أن يُنهى، وسيمرّر كائن الإشارة الضعيفة كمعامل وحيد للاستدعاء الخلفي، ولن يكون الكائن المشار إليه متاحًا بعد ذلك. يمكن إنشاء إشارات ضعيفة متعددة للكائن الواحد، وتُستدعى الاستدعاءات الخلفية المسجّلة لكل إشارة ضعيفة حسب ترتيب التسجيل، ...

الدالة urllib.request.url2pathname()‎‎ في بايثون

تحوّل الدالة مكونات المسار المعطى من عنوان URL مرمّز بعلامة النسبة المئوية إلى الصيغة المحلّية للمسارات. لا تستقبل الدالة عنوان URL كاملًا، وتُستخدم الدالة unquote()‎ لفكّ ترميز المسار المعطى. البنية العامة urllib.request.url2pathname(path) المعاملات path المسار المراد تحويله. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.request >>> urllib.request.url2pathname('main/images/big%20title.png') 'main/images/big title.png' مصادر صفحة Extensible library for opening URLs في توثيق بايثون الرسمي.

التابع AbstractDigestAuthHandler.http_error_auth_reqed()‎‎ في بايثون

يعالج التابع طلب الاستيثاق عن طريق الحصول على زوج اسم المستخدم/كلمة المرور، وإعادة الطلب مرة أخرى. البنية العامة AbstractDigestAuthHandler.http_error_auth_reqed(authreq, host, req, headers) المعاملات authreq يجب أن يكون اسم الترويسة حيث تكون المعلومات المتعلّقة بالحقل مضمّنة في الطلب. host يحدّد عنوان URL والمسار الذي ستُجرى فيه عملية الاستيثاق. req يجب أن يكون كائن Request (الذي فشل في عملية الاستيثاق). headers يجب أن يكون ترويسات الأخطاء. مصادر صفحة Extensible library for opening URLs في توثيق بايثون الرسمي.

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