نتائج البحث

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

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

تضمّ وحدة string عددًا من الثوابت والأصناف المفيدة في معالجة السلاسل النصية. وتدعم السلاسل النصية في بايثون مجموعة التوابع الخاصّة بالنوع str إلى جانب التوابع الخاصّة بالوحدة string. تقدّم الوحدة string الصنفين التاليين: الصنف Formatter: يتيح هذا الصنف من خلال توابعه إنشاء عمليات تنسيق السلاسل النصية جديدة وتخصيصها حسب الرغبة وبنفس الأسلوب المتّبع في الدالة الداخلية format()‎. الصنف Template: يقدّم هذا الصنف طريقة أبسط لإجراء عمليات الاستبدال في السلاسل النصية والموصوفة في PEP 292. حيث يمكن إجراء عمليات الاستبدال باستخدام ...

الكائن String في أردوينو

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

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

السلاسل النصية (string) هي سلسلة تحتوي على حرف واحد أو أكثر وقد تحتوي على حروف أبجدية، مثل أرقام ورموز، ويكون كل حرف (أو رمز أو رقم) ممثلاً ببايت. السلاسل النصية في لغة البرمجة روبي عبارة عن كائنات (Objects)، وعلى عكس لغات البرمجة الأخرى، فإن النصوص قابلة للتغيير (Mutable) والتي تعني أننا نستطيع تعديل النصوص بدلًا من إنشاء نصوص جديدة. علامتا الاقتباس المزدوجتين والمفردتين يتم إنشاء السلاسل النصية (string) في لغة روبي باستعمال علامات الاقتباس المزدوجة (مثل "string") أو المفردة (مثل ...

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

تحول الدالة String()‎ جميع محتويات المصفوفة أو الكائن الممرر إليها (أو جزء منها فقط) إلى سلسلة نصية ويمكن أن تكون بترميز محدد. البنية العامة inline fun String(bytes: ByteArray, charset: Charset): String inline fun String( bytes: ByteArray, offset: Int, length: Int, charset: Charset ): String بيئة التشغيل المطلوبة: JVM. تحول الدالة String()‎ جميع محتويات المصفوفة bytes أو جزءًا محددًا منها (يبدأ عند العنصر الذي ينزاح بمقدار offset ...

الوحدة Query String في Node.js

توفر الوحدة querystring مجموعة من الأدوات لتحليل وتنسيق سلاسل الاستعلامات في الروابط (URL query strings). يُمكِن استيراد الوحدة والبدء باستخدامها عبر تنفيذ: const querystring = require(‘querystring’); querystring.escape(str)‎ أُضيفَ في الإصدار 0.1.25. str من النوع <string>. يرمِّز هذا التابع المحارِف المُمرَّرة للمُعامِل الأوَّل str بترميز النسبة المئويّة لتحويله إلى سلسلة استعلامات صالحة. مثال: querystring.escape("foo=bar&bar=foo"); // 'foo%3Dbar%26bar%3Dfoo' يُستخدَم التابع querystring.escape()‎ عبر التابع querystring.stringify()‎ ولا يتوقع منه أن يستدعى مباشرةً. يُستخدَم هذا التابِع عادةً لتوفير آلية بديلة تقوم بعمليّة ترميز النسبة المئويّة إن لزم الأمر. ...

الوحدة String Decoder في Node.js

وحدة فك الترميز string_decoder توفر واجهة برمجية API لفك ترميز كائنات Buffer إلى سلاسل بطريقة تصون المحارف متعددة البايتات المرمزة بواسطة UTF-8 و UTF-16. يمكن الوصول إلى هذه الوحدة باستخدام: const { StringDecoder } = require('string_decoder'); المثال التالي يعرض الاستخدام الأساسي لصنف StringDecoder: const { StringDecoder } = require('string_decoder'); const decoder = new StringDecoder('utf8'); const cent = Buffer.from([0xC2, 0xA2]); console.log(decoder.write(cent)); const euro = Buffer.from([0xE2, 0x82, 0xAC]); console.log(decoder.write(euro)); عندما تُكتَب نسخة من الصنف Buffer إلى نسخة من الصنف StringDecoder، ستُستخدم ذاكرة مؤقتة داخلية لضمان أنّ السلسلة مفكوكة الترميز ...

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

يتحقق المعامل == من تساوي السلسلة النصية مع أي كائن آخر، علمًا أن المساواة تتحقق عند تطابق الطول والمحتوى. إذا لم يكن الكائن من نوع سلسلة نصية، فيمكن استعمال الدالة to_s لتحويله إلى سلسلة نصية إذا أمكن ذلك. البنية العامة str == obj → true or false المعاملات str سلسلة نصية تمثل الطرف الأول من عملية التحقق. obj الكائن المُراد التحقق من مساواته مع السلسلة النصية str. القيمة المعادة تُعاد القيمة true إذا كانت السلسلة النصية str مساويةً للكائن obj ...

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

يبدِّل المعامل [] عند استدعائه بالشكل ‎[]=‎‎ سلسلةً نصيةً محدَّدةً مكان جزءٍ محدَّد أو كامل محتوى سلسلة نصية أخرى. البنية العامة str[integer] = new_str str[integer, integer] = new_str str[range] = aString str[regexp] = new_str str[regexp, integer] = new_str str[regexp, name] = new_str str[other_str] = new_str يحدَّد الجزء المراد تبديله من السلسلة النصية str بالطريقة نفسها المذكورة في المعامل []. إن كان طول السلسلة النصية المعطاة لا يطابق طول السلسلة النصية (أو الجزء المحدّد) المراد تبديله، فستُعدَّل السلسلة النصية المعطاة تلك وفقًا لذلك. إن كان التعبير النمطي أو ...

المعامل * الخاص بالصنف String في روبي

ينسخ المعامل * سلسلة نصية عددًا محدَّدًا من المرات ثم يضعها في سلسلة نصية جديدة. البنية العامة str * integer → new_str المعاملات str السلسلة النصية المضروبة بالعدد integer لنسخها n مرة. integer عدد صحيح موجب يمثِّل عدد المرات التي يراد فيها نسخ السلسلة النصية str. القيمة المعادة تعاد سلسلة نصية جديدة مؤلفة من integer نسخة من السلسلة النصية str المعطاة. أمثلة مثال على استخدام المعامل *: "Ho! " * 3 #=> "Ho! Ho! Ho! " "Ho! " * ...

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

يجلب المعامل [] محرفًا ذا فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من السلسلة النصية التي استدعيت معه. في الحالات الثلاث السابقة، إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع المحرف بدءًا من نهاية السلسلة، إذ تمثل القيمة ‎-1 فهرس المحرف الأخير. بالنسبة للحالتين الثانية والثالثة، فهرس البداية يُحسب قبل محرف واحد والفهرس يطابق حجم السلسلة. عند تمرير تعبير نمطي (Regexp) إلى المعامل []، يعيد الجزء المطابق من السلسلة. إذا أُلحق التعبير النمطي بمُعامل التقاط (capture)، ...

المعامل >> الخاص بالصنف String في روبي

يُلحق المعامل >> الكائن المُعطى بالسلسلة النصية. في حال كان هذا الكائن عددًا صحيحًا، فإنه يُعتبر نقطة ترميز (codepoint) ويُحول إلى المحرف المقابل له قبل أن يضاف إلى السلسلة النصية. البنية العامة str << obj → str str << integer → str القيمة المعادة تعاد السلسلة النصية str مضافًا إليها الكائن obj أو العدد integer الصحيح بعد تحويله إلى المحرف المقابل له. أمثلة مثال على استخدام المعامل >>: a = "hello " a << "world" #=> "hello world" a << 33 ...

المعامل - الخاص بالصنف String في روبي

يعيد المعامل - عند استدعائه بالشكل str- نسخةً مطابقةً ومجمدةً للسلسلة النصية str في حال كانت غير مجمدة. أما إذا كانت مجمدة، فسيعيد التابع السلسلة النصية نفسها. البنية العامة -str → str (frozen) القيمة المعادة تُعاد نسخة مطابقة ومجمدة من السلسلة النصية str إن كانت هذه السلسلة غير مجمدة، أو تُعاد السلسلة النصية نفسها إن كانت مجمدة. أمثلة مثال على استعمال المعامل -: n1= “Hello” n1<<”World” #=> “HelloWorld” n2= -n1 n2<<”Guys” #=> FrozenError (can't modify frozen String) انظر أيضًا ...

المعامل % الخاص بالصنف String في روبي

يطبِّق المعامل % السلسلة النصية الواقعة على يساره التي تعد سلسلة تنسيق معيارية على الكائن المعطى الواقع على يمينه ثم يعيد الناتج. إن حوت سلسلة التنسيق أكثر من من عنصر نائب، فيجب أنذاك أن يكون الكائن الذي ستطبق عليه مصفوفةً أو كائنًا من النوع Hash يحوي القيم التي ستأخذ مكان العناصر النائبة المقابلة. البنية العامة str % arg → new_str المعاملات str سلسلة التنسيق التي ستُطبَّق على محتوى المعامل arg. لمزيد من التفاصيل حول صياغة سلسلة التنسيق، اطلع على صفحة ...

المعامل + الخاص بالصنف String في روبي

يجمع المعامل + سلسلتين نصيتين مع بعضهما بعضًا ثم يعيد الناتج في سلسلة نصية جديدة. البنية العامة str + other_str → new_str القيمة المعادة تعاد سلسلة جديدة مؤلفة من السلسلة str المُستدعاة مضافًا إليها السلسلة النصية other_str. أمثلة مثال على استخدام المعامل +: "Hello ” + “World” #=> “Hello world” "Hello from " + self.to_s #=> "Hello from main" انظر أيضًا المعامل ‎+@‎: يعيد عند استدعائه بالشكل str+ نسخةً مطابقةً للسلسلة النصية str وقابلةً للتغيير (Mutable) في حال كانت ...

المعامل ~= الخاص بالصنف String في روبي

يطابق المعامل ~= الكائن المُعطى مع سلسلة نصية. إذا كان الكائن عبارة عن تعبير نمطي (Regexp)، فإن المعامل يستعمله كنمط لمطابقة السلسلة النصية، ثم يعيد فهرس أول تطابق يعثر عليه، أو يعيد القيمة nil فى حال عدم وجود تطابق. عدا ذلك، فإنَّ المعامل يستدعي الكائن المعطى، ويمرر السلسلة النصية إليه كمعامل. ملاحظة: الصيغة str =~ regexp ليست مثل regexp =~ str، حيث تُعين السلاسل الملتقطة من مجموعات الالتقاط المسماة إلى المتغيرات المحلية فى الحالة الثانية فقط. البنية العامة str =~ ...

المعامل + الخاص بالصنف String في روبي

يعيد المعامل + عند استدعائه بالشكل str+ نسخةً مطابقةً للسلسلة النصية str وقابلةً للتغيير (Mutable) في حال كانت هذه السلسلة النصية مجمدة. أما إذا كانت السلسلة النصية غير مجمدة، فسيعيد المعامل السلسلة النصية نفسها. البنية العامة +str → str (mutable) c القيمة المعادة تعاد نسخة مطابقة وقابلة للتغيير (Mutable) من السلسلة النصية str المعطاة إن كانت هذه السلسلة مجمَّدة؛ أما إن لم تكن مجمدة، فستُعاد السلسلة النصية نفسها. أمثلة مثال على استعمال المعامل +: n1= “Hello ” n1.freeze n2 = +n1 n2<<”World” puts n2 المثال ...

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

يتحقق المعامل === من تساوي السلسلة النصية مع أي كائن آخر، علمًا أن المساواة تتحقق عند تطابق الطول والمحتوى. إذا لم يكن الكائن من نوع سلسلة نصية، فيمكن استعمال الدالة to_s لتحويله إلى سلسلة نصية إذا أمكن ذلك. البنية العامة str === obj → true or false المعاملات str السلسلة النصية وتمثل الطرف الأول من عملية التحقق. obj الكائن المُراد التحقق من مساواته مع السلسلة النصية str. القيمة المعادة تُعاد القيمة true إذا كانت السلسلة النصية str مساويةً للكائن obj ...

المعامل <=> الخاص بالصنف String في روبي

يُقارن المعامل <=> بين سلسلتين نصيتين ثم يعيد القيم 1-، أو 1، أو 0 إذا ما كانت السلسلة النصية الأولى أكبر أو أصغر أو تساوي السلسلة النصية الثانية على التوالي. يعيد المعامل القيمة nil إذا كانت القيمتين غير قابلتين للمقارنة. إذا اختلفت سلسلتين نصيتين في الطول، وكانتا متطابقتين حتى نقطة معينة، فإنَّ السلسلة الأطول من بعد هذه النقطة هي السلسلة الأكبر. البنية العامة string <=> other_string → -1, 0, +1, or nil المعاملات str السلسلة النصية الأولى. other_str السلسلة النصية ...

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

يتيح صنف السلاسل النصية الداخلي في بايثون إجراء عمليات استبدال معقدة للمتغيرات إلى جانب تنسيق القيم باستخدام التابع str.format()‎ الموصوف في PEP 3103. يتيح الصنف Formatter في الوحدة string إنشاء عمليات تنسيق جديدة وتخصيصها حسب الرغبة وبنفس الأسلوب المتّبع في التابع الداخلي str.format()‎. ويقدّم الصنف Formatter التوابع العامّة التالية: Formatter.format()‎ هذه هو تابع الواجهة البرمجية العام، ويأخذ سلسلة تنسيق نصية وعددًا من المعاملات الموقعية والمفتاحية. ويعدّ تابع تغليف wrapper يستدعي التابع vformat()‎. Formatter.vformat()‎ هذا الدالة هي المسؤولة الحقيقية عن جميع ...

التابع Template.substitute()‎ في بايثون

يؤدي هذا التابع عملية الاستبدال بالاعتماد على القالب ويعيد سلسلة نصية جديدة. البنية العامة substitute(mapping, **kwds) المعاملات mapping أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ‎‎**kwds‎ يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب. عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ الأخيرة الأولوية في حال وجود معرّفات متكرّرة بينهما. في حال عدم وجود المعرّفات في المعامل mapping أو عند غياب المعاملات المفتاحية، تطلق اللغة الخطأ KeyError، وإضافة ...

التابع Template.safe_substitute()‎ في بايثون

هذا التابع مشابه للتابع Template.substitute()‎ ، باستثناء أنّه لا يطلق خطأً أو استثناءً عند حدوث مشكلة أثناء عملية الاستبدال. البنية العامة safe_substitute(mapping, **kwds) المعاملات mapping أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ‎‎**kwds‎ يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب. عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ المعاملات المفتاحية الأولوية في حال وجود معرّفات متكرّرة بينهما. القيمة المعادة يعيد التابع سلسلة نصية جديدة ناتجة عن إجراء ...

التابع Template.safe_substitute()‎ في بايثون

هذا التابع مشابه للتابع Template.substitute()‎ ، باستثناء أنّه لا يطلق خطأً أو استثناءً عند حدوث مشكلة أثناء عملية الاستبدال. البنية العامة safe_substitute(mapping, **kwds) المعاملات mapping أي كائن شبيه بالقاموس يتضمّن مفاتيح مطابقة للمعرّفات المستخدمة في القالب. ‎‎**kwds‎ يمكن بدلًا مما سبق تقديم معاملات مفتاحية، تكون فيها الكلمات المفتاحية مطابقة للمعرّفات المستخدمة في القالب. عند استخدام المعامل mapping مع المعاملات المفتاحية، تأخذ المعاملات المفتاحية الأولوية في حال وجود معرّفات متكرّرة بينهما. القيمة المعادة يعيد التابع سلسلة نصية جديدة ناتجة عن إجراء ...

التابع Tarinfo.frombuf()‎‎ في بايثون

تابع صنف classmethod ينشئ ويعيد كائن TarInfo من سلسلة ذاكرة نصية string buffer (أو ما يعرف بملف الذاكرة) معطاة. البنية العامة TarInfo.frombuf(buf, encoding, errors) المعاملات buf سلسلة ذاكرة نصية string buffer يستخدمها التابع لإنشاء كائن TarInfo. القيمة المعادة يعيد التابع كائن TarInfo. يطلق التابع الاستثناء HeaderError إن كان ملف الذاكرة غير صالح للاستخدام. انظر أيضًا التابع TarInfo.fromtarfile()‎: تابع صنف يقرأ العضو التالي من كائن TarFile المعطى ويعيده على هيئة كائن TarInfo. مصادر صفحة Read and write tar archive files في توثيق ...

الدالة cgi.parse_header()‎‎ في بايثون

تحلّل الدالة ترويسة MIME (مثل Content-Type) إلى قيمة رئيسة وقاموسٍ من المعاملات. البنية العامة cgi.parse_header(string) المعاملات string ترويسة MIME. انظر أيضًا الدالة cgi.parse()‎: تحلّل الدالة الاستعلام الموجود في بيئة معينة أو في ملف معيّن. الدالة cgi.parse_qs()‎: هذه الدالة مهملة في هذه الوحدة، وهي موجودة لغرض التوافق مع الإصدارات السابقة من بايثون. استخدم الدالة urllib.parse.parse_qs()‎ عوضًا عنها.  الدالة cgi.parse_qsl()‎: هذه الدالة مهملة في هذه الوحدة، وهي موجودة لغرض التوافق مع الإصدارات السابقة من بايثون. استخدم الدالة urllib.parse.parse_qsl()‎‎ عوضًا عنها. الدالة cgi.parse_multipart()‎: ...

التابع Formatter.format()‎ في بايثون

هذا هو تابع الواجهة البرمجية العام، ويأخذ سلسلة تنسيق نصية وعددًا من المعاملات الموقعية والمفتاحية. ويعدّ تابع تغليف wrapper يستدعي التابع vformat()‎. البنية العامة format(format_string, *args, **kwargs) المعاملات format_string سلسلة التنسيق النصية التي يعالجها التابع. القيمة المعادة يعيد التابع سلسلة نصية هي نتيجة معالجة سلسلة التنسيق النصية المعطاة. ملاحظة: أصبح تمرير سلسلة تنسيق نصية كمعامل format_string مفتاحي مهملًا في الإصدار 3.5 من اللغة. أمثلة يبين المثال التالي طريقة استخدام التابع: >>> import string >>> formatter = string.Formatter() >>> formatter.format("From {} to {}", ...

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

تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب ‎%xx. البنية العامة urllib.parse.quote(string, safe='/', encoding=None, errors=None) ‎المعاملات safe يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس. يحمل هذا المعامل القيمة الافتراضية '/'. string يمكن أن يكون سلسلة نصية أو كائن bytes. ملاحظة: اعتُمد المعيار RFC 3986 عوضًا عن المعيار RFC 2396 لاقتباس سلاسل URL النصية في الإصدار 3.7 من بايثون، وقد أضيف الرمز "~" إلى مجموعة المحارف المحجوزة. encoding و errors ...

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

يفسّر التابع الإعدادات من سلسلة نصية. ملاحظة: هذا التابع جديد في الإصدار 3.2 من بايثون. البنية العامة read_string(string, source='<string>') المعاملات ‎string السلسلة النصية المراد تفسير الإعدادات فيها. source معامل اختياري يحدد اسمًا خاصًّا بالسياق context-specific name للسلسلة النصية الممرّرة. تُستخدم القيمة '<string>' في حال عدم استخدام هذا المعامل. عادة ما تكون قيمة هذا المعامل مسارًا في ملفات النظام أو عنوان URL. أمثلة يبين المثال التالي طريقة عمل التابع: >>> import configparser >>> sample_config = """ ... [mysqld] ... user = mysql ... ...

التابع Decompress.decompress()‎ في بايثون

يفكّ التابع الضغط عن البيانات المعطاة، ويعيد كائن bytes يتضمّن البيانات مفكوكة الضغط والمرتبطة على الأقل بجزء من البيانات في السلسلة النصية string. البنية العامة Decompress.decompress(data, max_length=0) المعاملات data البيانات المراد فك الضغط عنها. max_length معامل اختياري. إن أخذ هذا المعامل قيمة غير صفرية فإنّ القيمة المعادة من التابع لن تتجاوز في طولها العدد المحدّد. وهذا يعني أنّه يمكن عدم معالجة جميع المدخلات المضغوطة، وستُحفظ البيانات غير المستهلكة في الخاصية unconsumed_tail. يجب تمرير سلسلة البايتات هذه إلى استدعاء لاحق للتابع ...

الدالة string.capwords()‎ في بايثون

تحوّل هذه الدالة أوائل الكلمات في السلسلة النصية المعطاة إلى أحرف كبيرة. البنية العامة string.capwords(s, sep=None) المعاملات s السلسلة النصية المراد معالجتها. sep تعتمد الدالة قيمة المعامل الاختياري sep كفاصل تقسم بواسطة كلمات السلسلة النصية ثم تربطها بعضها ببعض. في حال لم يأخذ هذا المعامل أيّ قيمة، أو أخذ القيمة None، فإنّ المسافات البيضاء مهما كان عددها ستستبدل بمسافة بيضاء واحدة، وستُحذف المسافات البيضاء من بداية ونهاية السلسلة النصية أيضًا. القيمة المعادة تقسم الدالة السلسلة النصية المعطاة إلى كلمات باستخدام ...

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

تستبدل الدالة الحروف المهرّبة بالصيغة ‎%xx إلى القيمة الثمانية المفردة المقابلة لها، وتعيد كائن bytes. البنية العامة urllib.parse.unquote_to_bytes(string) ‎المعاملات string يجب أن يكون سلسلة نصية أو كائن bytes. إن كانت قيمة هذا المعامل سلسلة نصية، فإنّ الحروف غير المهرّبة والتي تكون خارج نطاق الترميز ASCII سترمّز إلى بايتات في الترميز UTF-8. أمثلة يبين المثال التالي طريقة عمل الدالة: >>> import urllib.parse >>> urllib.parse.unquote_to_bytes('a%26%EF') b'a&\xef' انظر أيضًا الدالة urllib.parse.quote()‎: تستبدل الدالة الحروف الخاصة في السلسلة النصية المعطاة باستخدام علامة التهريب ‎%xx. الدالة urllib.parse.quote_plus()‎: ...

الدالة 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 >>> ...

التابع Tarinfo.fromtarfile()‎‎ في بايثون

تابع صنف يقرأ العضو التالي من كائن TarFile المعطى ويعيده على هيئة كائن TarInfo. البنية العامة TarInfo.fromtarfile(tarfile) المعاملات tarfile كائن TarFile. القيمة المعادة يعيد التابع كائن TarInfo. انظر أيضًا التابع TarInfo.frombuf()‎: تابع صنف ينشئ ويعيد كائن TarInfo من سلسلة ذاكرة نصية string buffer (أو ما يعرف بملف الذاكرة) معطاة. مصادر صفحة Read and write tar archive files في توثيق بايثون الرسمي.

سلاسل القوالب في بايثون

تقدّم القوالب طريقة أبسط لإجراء عمليات الاستبدال في السلاسل النصية الموصوفة في PEP 292. حيث يمكن إجراء عمليات الاستبدال باستخدام الرمز $ بدلًا من الرمز %، وباتباع القواعد التالية: يعتبر التسلسل $$ تسلسل تهريب، ويجري استبداله بعلامة $ واحدة. تسمّي الصيغة ‎$identifier معرّفًا يحدّد موضعًا للاستبدال يطابق مفتاح ربط يحمل الاسم "identifier". المعرّفات الصالحة هي تلك التي تتضمّن حروفًا وأرقامًا بترميز ASCII وتكون غير حساسة لحالة الأحرف، وتبدأ بشرطة سفلية أو أحد حروف الترميز ASCII. وينتهي اسم المحرّف عند أوّل ...

التابع Compress.compress()‎ في بايثون

يضغط التابع البيانات المعطاة ويعيد كائن bytes يحتوي على البيانات المضغوطة لجزء من البيانات المعطاة على الأقل. البنية العامة Compress.compress(data) المعاملات data البيانات المراد ضغطها. يجب أن تكون هذه البيانات مرتبطة concatenated بالمخرجات الناتجة من أي استدعاءات سابقة للتابع compress()‎. قد يحتفظ التابع ببعض المدخلات في ذواكر داخلية لغرض المعالجة في وقت لاحق. انظر أيضًا التابع Decompress.decompress()‎: يفكّ التابع الضغط عن البيانات المعطاة، ويعيد كائن bytes يتضمّن البيانات مفكوكة الضغط والمرتبطة على الأقل بجزء من البيانات في السلسلة النصية string. ...

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

هذه الدالة مشابهة للدالة quote()‎ ولكنّها تستبدل المسافات الفارغة بعلامات +، وهذا هو المطلوب لاقتباس قيم نماذج HTML عند بناء سلاسل الاستعلام النصية التي ستُستخدم في عنوان URL. البنية العامة urllib.parse.quote_plus(string, safe='', encoding=None, errors=None) ‎المعاملات safe يحدّد هذا المعامل محارف ASCII الإضافية التي يجب على الدالة أن لا تحيطها بعلامات اقتباس. تُهرّب علامات + في السلسلة النصية الأصلية إلا إذا أدرجت كقيمة للمعامل safe. لا يأخذ المعامل safe القيمة الافتراضية '/' كما هو الحال مع الدالة quote()‎. string يمكن أن ...

الدالة bytes.fromhex()‎ في بايثون

تفكّ الدالة ترميز سلسلة نصية تتضمن أعداد ست عشرية إلى كائن bytes. البنية العامة bytes.fromhex() المعاملات string سلسلة نصية يجب أن تتضمّن عددين ستّ عشريين لكل بايت، وتتجاهل الدالة المسافات البيضاء في الترميز ASCII. القيمة المعادة تعيد الدالة كائن bytes الناتج من فك ترميز السلسلة النصية التي تتضمن أعدادًا ست عشرية. أمثلة يبين المثال التالي النتائج المعادة من تطبيق الدالة: >>> bytes.fromhex('2Ef0 F1f2 ') b'.\xf0\xf1\xf2' انظر أيضًا الدالة bytes.hex()‎: ترميز كائن bytes إلى سلسلة نصية تتضمن عددين ستّ عشريين مقابل كلّ بايت. ...

الدالة bytes.fromhex()‎ في بايثون

تفكّ الدالة ترميز سلسلة نصية تتضمن أعداد ست عشرية إلى كائن bytes. البنية العامة bytes.fromhex() المعاملات string سلسلة نصية يجب أن تتضمّن عددين ستّ عشريين لكل بايت، وتتجاهل الدالة المسافات البيضاء في الترميز ASCII. القيمة المعادة تعيد الدالة كائن bytes الناتج من فك ترميز السلسلة النصية التي تتضمن أعدادًا ست عشرية. أمثلة يبين المثال التالي النتائج المعادة من تطبيق الدالة: >>> bytes.fromhex('2Ef0 F1f2 ') b'.\xf0\xf1\xf2' انظر أيضًا الدالة bytes.hex()‎: ترميز كائن bytes إلى سلسلة نصية تتضمن عددين ستّ عشريين مقابل كلّ بايت. ...

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

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

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

تُحوّل الدّالة oct()‎ عددًا صحيحًا إلى سلسلة نصيّة ثُمانيّة (octal string) مسبوقة بالسّابقة 0o والنّتيجة تكون تعبير بايثون صحيحًا. البنية العامة oct(x) المعاملات x عدد صحيح، أو أيّ كائن يُعرّف التّابع الخاصّ ‎_‎_‎‎index‎_‎_‎(‎)‎ يُعيد عددا صحيحًا. القيمة المعادة سلسلة نصيّة ثُمانيّة تُمثّل العدد الصّحيح المُعطى. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> oct(8) '0o10' >>> oct(-56) '-0o70' إن أردت تحويل عدد صحيح إلى سلسلة نصيّة ثمانيّة إمّا دون السّابقة 0o أو معها، فيمكنك استخدام إحدى الطرائق الآتيّة: >>> '%#o' % 10, ...

الدالة Formatter.vformat()‎ في بايثون

هذه الدالة هي المسؤولة الحقيقية عن جميع عمليات التنسيق، وهي دالة مكشوفة (exposed) كدالة منفصلة لاستخدامها في الحالات التي يكون المطلوب فيها تمرير قاموس معاملات معرّف مسبقًا، بدلًا عن فك تحزيم القاموس وإعادة تحزيمه مرة أخرى كمعاملات منفردة باستخدام الصيغتين ‎*args و ‎**kwargs. البنية العامة vformat(format_string, args, kwargs) طريقة عمل الدالة تؤدي هذه الدالة مهمّة تقسيم سلسلة التنسيق النصية إلى بيانات حرفية وحقول استبدال، وتستدعي جميع التوابع التالية: parse(format_string)‎ يمرّ هذا التابع على سلسلة التنسيق النصية الممرّرة بواسطة المعامل format_string ...

Python/os/path

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

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

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

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

ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في تسلسل المعاملات المعطى. البنية العامة executemany(sql, seq_of_parameters) ‎المعاملات sql سلسلة نصية تتضمن جمل SQL المراد تنفيذها. seq_of_parameters ينفّذ التابع أمر SQL على جميع تسلسلات المعاملات parameter sequences أو الروابط mappings الموجودة في التسلسل seq_of_parameters. تسمح وحدة sqlite3 كذلك باستخدام مكرِّر ينتج معاملات بدلًا عن إنتاج تسلسل. أمثلة يبين المثال التالي طريقة استخدام التابع: import sqlite3 class IterChars: def __init__(self): ...

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

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

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

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

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

يتحقّق التابع ممّا إذا كانت حروف السلسلة النصية حروفًا صغيرة (lowercase). البنية العامة x.islower() القيمة المعادة يعيد التابع القيمة True إذا كانت جميع الحروف في السلسلة النصية حروفًا صغيرة وأنّ السلسل تضمّ على الأقل حرفًا واحدًا يمكن أن يأخذ حالات مختلفة (cased)، ويعيد القيمة False فيما عدا ذلك.  أمثلة يبيّن المثال التالي النتائج المعادة من استخدام هذا التابع: >>> string = "Python" >>> string.islower() False >>> string = "django" >>> string.islower() True انظر أيضًا السلاسل النصية في بايثون. التابع str.capitalize()‎: إعادة نسخة من السلسلة النصية ...

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

يفك التابع ترميز البايتات الممرّرة إليه إلى سلسلة نصية. البنية العامة bytes.decode(encoding="utf-8", errors="strict") المعاملات encoding يحدّد هذا المعامل الترميز الذي سيستخدمه التابع في عمله، ويأخذ القيمة الافتراضية 'utf-8'. وللاطلاع على قائمة بالترميزات المتاحة راجع قسم الترميزات القياسية. ملاحظة: يسمح تمرير المعامل encoding إلى السلسلة النصية بفك ترميز أي كائن شبيه بالبايت bytes-like object على نحو مباشر، دون الحاجة إلى إنشاء كائن بايتات أو كائن مصفوفة بايتات مؤقت. errors يحدّد المعامل error الطريقة المطلوبة للتعامل مع الأخطاء. يأخذ هذا المعامل القيمة ...

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

يفك التابع ترميز البايتات الممرّرة إليه إلى سلسلة نصية. البنية العامة bytes.decode(encoding="utf-8", errors="strict") المعاملات encoding يحدّد هذا المعامل الترميز الذي سيستخدمه التابع في عمله، ويأخذ القيمة الافتراضية 'utf-8'. وللاطلاع على قائمة بالترميزات المتاحة راجع قسم الترميزات القياسية. ملاحظة: يسمح تمرير المعامل encoding إلى السلسلة النصية بفك ترميز أي كائن شبيه بالبايت bytes-like object على نحو مباشر، دون الحاجة إلى إنشاء كائن بايتات أو كائن مصفوفة بايتات مؤقت. errors يحدّد المعامل error الطريقة المطلوبة للتعامل مع الأخطاء. يأخذ هذا المعامل القيمة ...

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

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

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

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

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

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

يتحقّق التابع ممّا إذا كانت السلسلة النصية تتضمّن معرّفًا صحيحًا (identifier) في لغة بايثون. البنية العامة x.isidentifier() القيمة المعادة يعيد التابع القيمة True إن كانت السلسلة النصية معرّفًا صحيحًا في بايثون، ويعيد القيمة False فيما عدا ذلك. ضمن الترميز ASCII تسمح الإصدارات ‎2.x‎ من بايثون باستخدام الحروف A إلى Z و a إلى z و 0 إلى 9 والشرطة السفلية _ شرط أن لا تكون الشرطة الحرف الأول في المعرّف. قدّم الإصدار 3.0 من بايثون إمكانية استخدام الترميز Unicode لتسمية ...

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

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

تتكوّن الأعداد المركبّة من جزأين حقيقي وتخيّلي وكلاهما من الأعداد العشرية ذات الفاصلة العائمة 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) حسب العدد الحقيقي والعدد التّخيّلي المُعطيين، أو تُحوّل ...

السلاسل النصية في بايثون

يمكن التعامل مع البيانات النصية في بايثون باستخدام كائنات str أو السلاسل النصية (strings)، وهي تسلسلات (sequences) غير قابلة للتغيير (immutable) من رموز يونيكود (Unicode). هناك طرائق مختلفة للتعبير عن السلاسل النصية، إذ يمكن أن تحاط بعلامات اقتباس مفردة ('...') أو مزدوجة ("...")، ويستخدم الرمز \ لتهريب علامات الاقتباس: >>> 'spam eggs'  # علامات اقتباس مفردة 'spam eggs' >>> 'doesn\'t'  # استخدم \' لتهريب علامات الاقتباس المفردة...‏ "doesn't" >>> "doesn't"  # ...أو استخدم علامات الاقتباس المزدوجة "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> "\"Yes,\" he said." '"Yes," ...

السلاسل النصية في بايثون

يمكن التعامل مع البيانات النصية في بايثون باستخدام كائنات str أو السلاسل النصية (strings)، وهي تسلسلات (sequences) غير قابلة للتغيير (immutable) من رموز يونيكود (Unicode). هناك طرائق مختلفة للتعبير عن السلاسل النصية، إذ يمكن أن تحاط بعلامات اقتباس مفردة ('...') أو مزدوجة ("...")، ويستخدم الرمز \ لتهريب علامات الاقتباس: >>> 'spam eggs'  # علامات اقتباس مفردة 'spam eggs' >>> 'doesn\'t'  # استخدم \' لتهريب علامات الاقتباس المفردة...‏ "doesn't" >>> "doesn't"  # ...أو استخدم علامات الاقتباس المزدوجة "doesn't" >>> '"Yes," he said.' '"Yes," he said.' >>> "\"Yes,\" he said." '"Yes," ...

الدالة re.compile()‎ في بايثون

تصرّف الدالة التعبير النمطي إلى كائن تعبير نمطي regex يمكن استخدامه للمطابقة بواسطة توابعه الخاصّة match()‎ و search()‎ وغيرها. البنية العامة re.compile(pattern, flag=0) المعاملات pattern التعبير النمطي المراد تصريفه. flags يمكن تحديد طريقة التعامل مع التعبير النمطي باستخدام قيم الرايات، ويمكن استخدام أكثر من راية وذلك بفصلها بعامل OR الخاص بالأعداد الثنائية (العامل |). يمكن استخدام المتغيرات التالية كقيم للمعامل flags: re.A re.ASCII يؤدي استخدام هذه الراية إلى جعل عملية المطابقة الخاصة بالتسلسلات ‎\w ،\W ،\b ،\B ،\d ،\D ،\s ...

الصنف TarInfo()‎‎ في بايثون

يمثّل كائن TarInfo عضوًا واحدًا في كائن TarFile. يحفظ هذا الكائن جميع الخصائص المطلوبة في الملف (مثل نوع الملف، وحجمه، ووقت التعديل، والأذونات، ومالك الملف وغيرها)، إلى جانب أنّه يقدّم بعض التوابع المفيدة لتحديد نوع الملف، ولا يحتوي هذا الكائن على بيانات الملف. تعيد التوابع getmember()‎ و getmembers()‎ و gettarinfo()‎ كائنات TarInfo. البنية العامة الدالة البانية للصنف TarInfo: class tarfile.TarInfo(name="") خصائص كائنات TarInfo يمتلك كائن TarInfo الخصائص العامة التالية: TarInfo.name اسم عضو الأرشيف. TarInfo.size الحجم بالبايتات. TarInfo.mtime وقت آخر تعديل. ...

الكائن match في بايثون

ينشأ الكائن match كنتيجة لتطبيق التابعين regex.match()‎ و regex.search()‎ على التعبير النمطي المصرّف. تمتلك كائنات match القيمة المنطقية True دائمًا، ولما كان التابعان match()‎ و search()‎ يعيدان القيمة None عندما لا يكون هناك حالات تطابق، يمكن التحقق من وجود التطابق باستخدام عبارة if بسيطة: match = re.search(pattern, string) if match: process(match) تدعم كائنات match التوابع والخصائص التالية: خصائص الكائن match match.pos قيمة المعامل pos الممرّر إلى التابعين regex.search()‎ و regex.match()‎. تمثّل هذه الخاصية الموقع الذي تبدأ فيه عملية البحث ...

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

تتيح وحدة fractions التعامل مع الأعداد الكسرية وإجراء العمليات الحسابية المختلفة عليها. يمكن إنشاء نسخة من الكائن Fraction باستخدام زوج من الأعداد الصحيحة أو من عدد كسري آخر أو من سلسلة نصية. class fractions.Fraction(numerator=0, denominator=1) class fractions.Fraction(other_fraction) class fractions.Fraction(float) class fractions.Fraction(decimal) class fractions.Fraction(string) في السطر الأول من المثال السابق جرى استخدام زوج من الأعداد الصحيحة لإنشاء نسخة جديدة من الصنف Fraction. يجب أن يكون كلّ من البسط numerator والمقام denominator نسخًا من الصنف numbers.Rational ونحصل بذلك على نسخة جديدة من الصنف Fraction تحمل القيمة (البسط/المقام). ...

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

تتيح وحدة fractions التعامل مع الأعداد الكسرية وإجراء العمليات الحسابية المختلفة عليها. يمكن إنشاء نسخة من الكائن Fraction باستخدام زوج من الأعداد الصحيحة أو من عدد كسري آخر أو من سلسلة نصية. class fractions.Fraction(numerator=0, denominator=1) class fractions.Fraction(other_fraction) class fractions.Fraction(float) class fractions.Fraction(decimal) class fractions.Fraction(string) في السطر الأول من المثال السابق جرى استخدام زوج من الأعداد الصحيحة لإنشاء نسخة جديدة من الصنف Fraction. يجب أن يكون كلّ من البسط numerator والمقام denominator نسخًا من الصنف numbers.Rational ونحصل بذلك على نسخة جديدة من الصنف Fraction تحمل القيمة (البسط/المقام). ...

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 ...

for في بايثون

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

for في بايثون

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

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

تُجمّع الدّالة compile()‎ شيفرة بايثون مصدريّةً إلى شيفرة أو كائن AST. يُمكن تنفيذ هذه الكائنات عبر استخدام الدّالة exec()‎ أو الدّالة eval()‎. البنية العامة compile(source, filename, mode, flags=0, dont_inherit=False, optimize=-1) المعاملات source الشيفرة المصدريّة المرغوب تجميعها، يُمكن أن تكون قيمة المُعامل سلسلةً نصيّة، أو سلسلة بايتات نصيّة (byte string) أو كانًا من النّوع AST. انظر توثيق الوحدة ast للمزيد من المعلومات حول كائنات AST. filename اسم الملفّ الذي قُرِئَت منه الشيفرة. مرّر قيمةً مفهومةً إن لم تكن الشّيفرة قد قرئَت ...

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

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

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

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

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

تتطلب بعض التطبيقات استخدام البيانات المضغوطة، وتتيح الدوال المتوفّرة في هذه الوحدة إجراء عمليات الضغط وفك الضغط على البيانات باستخدام مكتبة zlib، ولهذه المكتبة موقع إلكتروني خاص. يجدر التنبيه إلى وجود بعض المشاكل في التوافقية بين وحدة بايثون والإصدارات 1.1.3 وما دونها من مكتبة zlib، إضافة إلى أنّ الإصدار 1.1.3 يعاني من مشاكل أمنية؛ لذا يُنصح باستخدام الإصدار 1.1.4 أو ما بعده من المكتبة. تقدّم دوال zlib الكثير من الخيارات وغالبًا ما يجب استخدام هذه الدوال في ترتيب معين. لا ...

سحب متن المُنشِئ لأعلى (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; ...

الدالة re.search()‎ في بايثون‎

تفحص الدالة السلسلة النصية بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل. البنية العامة re.search(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائن match عند العثور على حالة تطابق بين التعبير النمطي والسلسلة ...

Python/Topics

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

استبدال الخوارزمية (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"; ...

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

يعيد التابع‎ الحروف في السلسلة النصية بالاعتماد على جدول التحويل (translation table). البنية العامة x.translate() المعاملات table يجب أن يكون الجدول كائنًا يؤدي عملية الفهرسة (indexing) باستخدام التابع __getitem()‎__ وعادة ما يكون تسلسلًا أو قاموسًا. (راجع التابع str.maketrans()‎ للمزيد من المعلومات حول كيفية إنشاء هذا الجدول). القيمة المعادة يعيد التابع نسخة من السلسلة النصية بعد استبدال الحروف بالاعتماد على جدول الترجمة. عند فهرسة كائن الجدول حسب رتب الترميز الموحد (أعداد صحيحة) يمكن للكائن أن يؤدي ما يلي: إعادة رتبة ترميز ...

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

يعيد التابع find()‎ أدنى قيمة للفهرس في السلسلة النصية والذي تكون السلسلة الفرعية موجودة فيه ضمن الجزء المقتطع من السلسلة. البنية العامة x.find() المعاملات sub السلسلة الفرعية المراد معرفة موقعها. start الموقع الذي يبدأ منه التابع عملية البحث ضمن السلسلة الأصلية. end الموقع الذي ينهي فيه التابع عملية البحث ضمن السلسلة الأصلية. يسلك هذان المعاملان نفس السلوك المتّبع في عملية اقتطاع السلاسل النصية slicing. القيمة المعادة يعيد التابع أدنى قيمة للفهرس في السلسلة النصية حيث تكون السلسلة الفرعية sub موجودة ...

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

يعيد هذا التابع الساكن جدول تحويل يمكن استخدامه بواسطة التابع str.translate()‎. البنية العامة x.maketrans() المعاملات في حال تمرير معامل واحد فإنّه يجب أن يكون قاموسًا يربط أرقام الحروف في الترميز الموحد (Unicode ordinals) وهي أعداد صحيحة أو الحروف (سلاسل نصية ذات حرف واحد) بأرقام الحروف في الترميز الموحد أو سلاسل نصية (ذات عدد غير محدد من الحروف) أو None. بعد ذلك يجري تحويل مفاتيح الحروف إلى أرقام الحروف في الترميز الموحد Unicode. في حال استخدام معاملين فيجب حينئذ أن يكونا ...

قراءة الملفات والكتابة فيها في بايثون

تتيح بايثون إمكانية الوصول إلى الملفات في نظام التشغيل وقرائتها والكتابة عليها دون الحاجة إلى استخدام مكتبات خارجية. قراءة الملفات تستخدم الدالة open()‎ لقراءة الملفات في بايثون، وتعيد هذه الدالة كائن file وتستخدم عادة مع وسيطين open(filename, mode)‎ كما هو موضح في المثال التالي: >>> f = open('workfile', 'w') الوسيط الأول هو سلسلة نصية تتضمن اسم الملف المراد فتحه. أما الوسيط الثاني فهو سلسلة نصية أيضًا تتضمن بضع حروف تصف طريقة استخدام الملف المفتوح. يمكن للوسيط الثاني mode أن يأخذ القيمة ...

قراءة الملفات والكتابة فيها في بايثون

تتيح بايثون إمكانية الوصول إلى الملفات في نظام التشغيل وقرائتها والكتابة عليها دون الحاجة إلى استخدام مكتبات خارجية. قراءة الملفات تستخدم الدالة open()‎ لقراءة الملفات في بايثون، وتعيد هذه الدالة كائن file وتستخدم عادة مع وسيطين open(filename, mode)‎ كما هو موضح في المثال التالي: >>> f = open('workfile', 'w') الوسيط الأول هو سلسلة نصية تتضمن اسم الملف المراد فتحه. أما الوسيط الثاني فهو سلسلة نصية أيضًا تتضمن بضع حروف تصف طريقة استخدام الملف المفتوح. يمكن للوسيط الثاني mode أن يأخذ القيمة ...

الدالة re.fullmatch()‎ في بايثون‎

تتحقّق الدالة ممّا إذا كانت السلسلة النصية بأكملها مطابقة للتعبير النمطي المعطى. البنية العامة re.fullmatch(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة إن طابقت السلسلة النصية بأكملها التعبير النمطي المعطى، فستعيد الدالة كائن match المقابل، وتعيد القيمة None إن لم تطابق السلسلة ...

تبديل المصفوفات بكائنات (Replace Array with Object)

تقنية إعادة التصميم هذه هي حالة خاصة من تبديل قيم البيانات إلى كائنات. المشكلة لديك مصفوفة تحتوي على أنواع مختلفة من البيانات. الحل استبدال المصفوفة بكائن يكون له حقول منفصلة لكل عنصر. مثال قبل إعادة التصميم احتواء المصفوفة row على نوعين مختلفين من البيانات (سلسلة نصية وعدد): في لغة Java: String[] row = new String[2]; row[0] = "Liverpool"; row[1] = "15"; في لغة C#‎: string[] row = new string[2]; row[0] = "Liverpool"; row[1] = "15"; في لغة PHP: $row = array(); $row[0] = "Liverpool"; $row[1] = 15; في لغة ...

الدالة re.findall()‎ في بايثون‎

تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة على هيئة قائمة من السلاسل النصية. البنية العامة re.findall(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة جميع حالات التطابق غير المتداخلة للنمط المطبق على السلسلة النصية المعطاة ...

الدالة re.finditer()‎ في بايثون‎

تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج عنه كائنات match لجميع حالات التطابق غير المتداخلة والناتجة من تطبيق التعبير النمطي المعطى على السلسلة النصية المعطاة. البنية العامة re.finditer(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائنًا قابلًا للتكرار iterator ينتج ...

الدالة re.match()‎ في بايثون‎

تفحص الدالة بداية السلسلة النصية بحثًا عن حالة تطابق مع التعبير النمطي المعطى، وتعيد كائن match المقابل. البنية العامة re.match(pattern, string, flags=0) المعاملات pattern التعبير النمطي المستخدم لإجراء عملية المطابقة. string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. flags الرايات المستخدمة لضبط عملية البحث. يأخذ هذا المعامل القيمة 0 كقيمة افتراضية. راجع قسم المعاملات في توثيق الدالة ()re.compile للمزيد من المعلومات. القيمة المعادة تعيد الدالة كائن match المقابل إن عثرت على صفر أو أكثر من المحارف في بداية ...

الوحدة urllib.parse‎‎ في بايثون

تعرّف هذه الوحدة واجهة معيارية لتقسيم سلاسل محدّد موقع الموارد المحدّد Uniform Resource Locator (‏URL اختصارًا) إلى مكوّنات (نظام العنونة addressing scheme، موقع الشبكة network location، المسار path ... الخ)، ولدمج هذه المكونات مرّة أخرى في سلسلة URL، ولتحويل "URL نسبي" إلى URL مطلق بالاعتماد على "URL أساسي". صمّمت هذه الوحدة لتطابق معايير RFC للإنترنت الخاصّة بالمحدّدات النسبية لمواقع الموارد المحدّدة Relative Uniform Resource Locators. وتدعم الوحدة الأنواع التالية من مخطّطات URL: file, ftp, gopher, hdl, http, https, imap, mailto, ...

الحزم Packages في بايثون

تعدّ الحزم طريقة لهيكلة مجالات أسماء الحزم في بايثون، وذلك باستخدام أسماء الحزم المنقطة (dotted module names). فعلى سبيل المثال يعبّر اسم الحزمة A.B عن أن الحزمة B هي جزء من الحزمة A. وكما أنّ الوحدات تساعد في تجنّب حدوث أي تضارب بين أسماء المتغيرات العامة، فإنّ أسماء الحزم المنقطة تساعد في تجنب حدوث أي تضارب بين أسماء الوحدات في الحزم متعدّدة الوحدات مثل NumPy أو مكتبة بايثون لمعالجة الصور Python Imaging Library. لنفترض أنّك ترغب في تصميم مجموعة من ...

الوحدة urllib.parse‎‎ في بايثون

تعرّف هذه الوحدة واجهة معيارية لتقسيم سلاسل محدّد موقع الموارد المحدّد Uniform Resource Locator (‏URL اختصارًا) إلى مكوّنات (نظام العنونة addressing scheme، موقع الشبكة network location، المسار path ... الخ)، ولدمج هذه المكونات مرّة أخرى في سلسلة URL، ولتحويل "URL نسبي" إلى URL مطلق بالاعتماد على "URL أساسي". صمّمت هذه الوحدة لتطابق معايير RFC للإنترنت الخاصّة بالمحدّدات النسبية لمواقع الموارد المحدّدة Relative Uniform Resource Locators. وتدعم الوحدة الأنواع التالية من مخطّطات URL: file, ftp, gopher, hdl, http, https, imap, mailto, ...

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

التابع regex.search()‎ في بايثون‎

يفحص هذا التابع السلسلة النصية المعطاة بحثًا عن أول موقع يحصل فيه تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل. البنية العامة regex.search(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد ...

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

يستخدم التابع str.format()‎ والصنف Formatter صيغة سلاسل التنسيق النصية ذاتها، (ولكن يمكن للأصناف الفرعية في الصنف Formatter أن تعرّف الصيغة الخاصّة بها). ترتبط هذه الصيغة بحروف سلاسل التنسيق النصية، ولكن هناك بعض الاختلافات. تتضمّن سلاسل التنسيق "حقول استبدال" محاطة بالأقواس المعقوفة {}، ويعدّ كل شيء خارج هذه الأقواس حرفًا اعتياديًا ويُنسخ إلى المخرجات دون أي تعديل. إن كانت هناك حاجة إلى استخدام الأقواس المعقوفة ضمن النص فيمكن تهريبها بمضاعفتها: {{ و }}. الصيغة العامة لحقل الاستبدال الصيغة العامة لحقل الاستبدال ...

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

التابع regex.match()‎ في بايثون‎

يفحص هذا التابع بداية السلسلة النصية المعطاة بحثًا عن حالة تطابق مع التعبير النمطي المصرّف، ويعيد كائن التطابق المقابل. البنية العامة regex.match(string[, pos[, endpos]]) المعاملات string السلسلة النصية التي ستبحث فيها الدالة عن حالات التطابق. pos يحدّد هذا المعامل الاختياري الموقع الذي يبدأ منه التابع البحث في السلسلة النصية، ويأخذ القيمة الافتراضية 0. إن تحديد موقع بدء عملية البحث ليس مطابقًا تمامًا لعملية تقطيع السلسلة النصية، فالمحرف '^' يطابق في بداية السلسلة النصية وفي المواقع التي تأتي بعد محرف السطر ...

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

تُقدّم الوحدة operator مجموعة من الدوال الفعالّة سرعةً وأداءً، والتي تُماثل العوامل الأساسيّة في بايثون. على سبيل المثال، الاستدعاء ‎operator.add(x, y)‎ يُماثل التّعبير x+y. العديد من أسماء الدوال هنا هي نفسها المُستعمَلة في التوابع الخاصّة (special methods)، مع إزالة الشرطتين التحتيتين (‎add()‎ عوضًا عن ‎__‎‎add‎__‎()‎). ولإبقاء التوافقيّة العكسيّة مع نسخ أقدم من بايثون، فالكثير من الدوال تمتلك دوالًا مُكافئةً لها تُبقي على الشرطتين. ومن المُفضّل استخدام أسماء الدوال عديمة الشرطتين لتكون الشيفرة أوضحَ وأسهل قراءةً، أي أنّه من المُفضّل استعمال ...

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

تطبّق وحدة pickle بروتوكولات ثنائية لغرض سَلسلَة وإلغاء سَلسَلَة بنية كائنات بايثون. تطلق تسمية Pickling على العملية التي يتحوّل فيها تسلسل هرمي لكائن بايثون إلى تدفق بايتات byte stream، وتطلق تسمية Unpickling على العملية العكسية والتي يتحوّل فيها تدفّق بايتات (من ملف ثنائي أو كائن شبيه بالبايتات) إلى تسلسل هرمي لكائن بايثون. تحمل هاتان العمليتان (Pickling و Unpickling) أسماءً أخرى مثل السَلسَلَة "serialization"، والترتيب "marshalling" (ليس المقصود هنا وحدة marshal) والتسطيح "falttening". سنستخدم مصطلحي السلسلة وإلغاء السلسلة في هذا التوثيق ...

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

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

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

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

التابع regex.split()‎ في بايثون‎

يقسم التابع السلسلة النصية عند كل مكان تحدث فيه عملية مطابقة للنمط المصرّف. هذا التابع مطابق تمامًا للدالة re.split()‎. البنية العامة regex.split(string, maxsplit=0) المعاملات string السلسلة النصية التي سيبحث فيها التابع عن حالات التطابق. maxsplit العدد الأقصى من التقسيمات التي سيجريها التابع على السلسلة النصية. في حال كان العدد الأقصى من التقسيمات أقل من عدد حالات المطابقة فإنّ التابع يعيد ما يبقى من السلسلة النصية ليكون العنصر الأخير في القائمة المعادة. يأخذ هذا المعامل القيمة الافتراضية 0. القيمة المعادة يقسم ...

Python/types

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

Python/PEP

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

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