نتائج البحث

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

الدالة itertools.cycle()‎ في بايثون

تعيد الدّالة itertools.cycle()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتّكرار المُعطى ويحفظ نسخة منه، عندما تنتهي قيم الكائن القابل للتّكرار، يُعيد المُكرّر عناصر النّسخة المحفوظة، ويُكرّر ذلك مرارًا وتكرارًا دون نهاية. البنية العامة itertools.cycle(iterable) المعاملات iterable الكائن القابل للتّكرار المرغوب الدّوران على قيمه بشكل لا نهائيّ. القيمة المعادة مُكرّر يُعيد قيم الكائن المُعطى مرارًا وتكرارًا. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، لاحظ استعمال الدّالة next‎()‎ للوصول إلى القيمة المواليّة في المُكرّر، وهذا لأنّ المُكرّر النّاتج لا متناهٍ، وتحويله إلى ...

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

تقّدم الوحدة itertools مجموعة من الأدوات المُساعدة على بناء مُكرّرات مُشابهة لتلك المتوفّرة في لغات مثل APL، وHaskell وSML. بُني كلّ منها بطريقة تُناسب لغة بايثون. الأدوات المُتوفّرة سريعة وتستخدم الذّاكرة بشكل فعّال، وهي مُفيدة سواء بمُفردها أو عبر دمج بعضها ببعض. وعند دمجها مع بعض، تُشكّل "جبرَ مُكرّرات” تُعدّ وسيلة يُمكن استعمالها لإنشاء أدوات أكثر تخصّصًا بشكل فعّال باستخدام بايثون فقط دون الحاجة إلى أيّة لغة برمجيّة أخرى. تُوفّر لغة SML مثلًا الدّالة tabulate‎(f)‎ التي تُنتج السّلسلة ‎f(0)‎,‎ ‎f(1)‎,‎ ...

الدالة itertools.dropwhile()‎ في بايثون

تعيد الدّالة itertools.dropwhile()‎ مُكرّرًا يُزيل العناصرَ من الكائن القابل للتّكرار المعطى ما دامت العبارة المنطقيّة المُعطاة (التي تكون دالّة تستقبل العنصر وتُعيد قيمة منطقيّة) تُساوي القيمة المنطقيّة True؛ بعد أن تُخالف العبارة المنطقيّة قيمةً منطقيّة صحيحة، يستمرّ المُكرّر بإعادة العناصر المتبقيّة كلّها. لاحظ أنّ المُكرّر لا يُنتج أي مُخرجات حتى تُساوي العبارة المنطقيّة القيمةَ False، ما يعني أنّه قد يحتاج إلى وقت طويل للبدء في إعادة القيم. البنية العامة itertools.dropwhile(predicate, iterable) المعاملات predicate العبارة المنطقيّة التي ستُحدّد ما إذا كان ...

الدالة itertools.chain.from_iterable()‎ في بايثون

تعيد الدّالة itertools.chain.from_iterable()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتكرار الأول حتى تنتهيَ عناصره، ثمّ ينتقل إلى الكائن القابل للتّكرار التّالي إلى أن تنتهي قيّمه وهكذا… وتُستخدم لمُعالجة عدّة تسلسلات على أنّها تسلسل واحد مُستمرّ. وتُعدّ الدّالة طريقة بديلة للدّالة itertools.chain()‎، إذ تستقبل هذه الأخيرة عدّة مُعاملات عوضًا عن مُعامل واحد فقط. البنية العامة itertools.chain.from_iterable(iterable) المعاملات iterable الكائن القابل للتّكرار المرغوب تحويل الكائنات التي بداخله إلى تسلسل واحد مُستمر. القيمة المعادة مُكرّر يحتوي على جميع عناصر الكائنات القابلة للتّكرار المتواجدة في ...

الدالة itertools.combinations()‎ في بايثون

تعيد الدّالة itertools.combinations()‎ تسلسلات فرعيّة (subsequences) تُعدّ تجميعاتٍ ذات طولٍ مُحدّد لعناصر الكائن القابل للتّكرار المُعطى. تُنتَج التّجميعات حسب الترتيب المُعجميّ (lexicographic). ما يعني بأنّ الصّفوف النّاتجة ستكون مُرتّبةً إن كان الكائن القابل للتّكرار المُعطى مُرتّبًا. تُعامَل العناصر على أنّها فريدة حسب موقعها، وليس حسب قيمها. لذا إن كانت عناصر الكائن القابل للتّكرار المُدخَل فريدةً فلن تُكرّر أيّة قيم في كلّ تجميعة. البنية العامة itertools.combinations(iterable, r) المعاملات iterable الكائن القابل للتّكرار. r طول الصّفوف النّاتجة. القيمة المعادة صفوف بالطول المُعطى ...

الدالة itertools.chain()‎ في بايثون

تعيد الدّالة itertools.chain()‎ مُكرّرًا يُعيد عناصر الكائن القابل للتكرار الأول حتى تنتهيَ عناصره، ثمّ ينتقل إلى الكائن القابل للتّكرار التّالي إلى أن تنتهي قيّمه وهكذا… وتُستخدم لمُعالجة عدّة تسلسلات على أنّها تسلسل واحد مُستمرّ. البنية العامة itertools.chain(*iterables) المعاملات iterables الكائنات القابلة للتّكرار المرغوب تحويلها إلى تسلسل واحد مُستمر. القيمة المعادة مُكرّر يحتوي على جميع عناصر الكائنات القابلة للتّكرار المُعطاة حسب التّرتيب التي مُرّرت فيها. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> c = itertools.chain([1, 2, 3], 'abc') >>> c <itertools.chain ...

الدالة itertools.product()‎ في بايثون

تعيد الدّالة itertools.product()‎ حاصل الضرب الديكارتي (أو الضرب المباشر) للكائنات القابلة للتّكرار المُعطاة. طريقة العمل مُكافئة لحلقات for المُتداخلة في تعبير مُولّد. مثلًا، الاستدعاء product(A, B)‎ يُعيد ما يُعيده التّعبير ‎((x,y)‎ for‎ x‎ in A‎ for y in B‎)‎. تدور الحلقات المُتداخلة مثل عدّاد مسافة (odometer) من العنصر على أقصى اليمين مُتقدّمةً عند كلّ تكرار. يُنشئ هذا النّسق ترتيبًا مُعجميًّا (lexicographic)، لذا فإن كانت الكائنات القابلة للتّكرار المُعطاة مُرتّبةً، فستُنتج صفوف الضّرب المُباشر مُرتّبةً. البنية العامة itertools.product(*iterables, repeat=1) المعاملات iterables ...

الدالة itertools.zip_longest()‎ في بايثون

تعيد الدّالة itertools.zip_longest()‎ مُكرّرًا يُركّب العناصر من كلّ كائن من الكائنات القابلة للتّكرار المُعطاة. إن كانت الكائنات القابلة للتّكرار غير مُتساويّة في الطّول، فستُستخدم قيمة لملء الفراغات. يُكمل التّكرار إلى أن تنتهي قيم أطول كائن من الكائنات القابلة للتّكرار. البنية العامة itertools.zip_longest(*iterables, fillvalue=None) المعاملات iterables الكائنات القابلة للتّكرار المُراد تركيبها. fillvalue القيمة التي ستُملؤ بها الفراغات. إن لم تُعيّن قيمة للمُعامل فالقيمة الافتراضيّة تكون القيمةَ None. القيمة المعادة مُكرّر يُعيد صفوفًا تُركّب عناصرها من عناصر الكائنات القابلة للتّكرار المُعطاة، ويملؤ ...

الدالة itertools.groupby()‎ في بايثون

تعيد الدّالة itertools.groupby()‎ مُكرّرًا يُعيد مفاتيح مُتسلسلة ومجموعات (groups) تنتمي إلى هذه المفاتيح من الكائن القابل للتّكرار المعطى. العمليّة التي تقوم بها الدّالة مُشابهة لكيفيّة عمل المُرشّح uniq في أنظمة Unix. إذ تُولّد نقطة توقّف (break) أو مجموعة جديدة في كلّ مرّة تتغيّر فيها قيمة الدّالةِ المفتاح (لذا يجب في الغالب ترتيب البيانات باستعمال نفس الدّالة المفتاح). وطريقة العمل هذه تختلف عن طريقة عمل عبارة GROUP BY في لغة SQL التي تجمع العناصر المُشتركة بغضّ النّظر عن ترتيب البيانات. البنية ...

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

تعيد الدّالة itertools.compress()‎ مُكرّرًا يُرشّح العناصر المتواجدة داخل الكائن القابل للتّكرار المُعطى مُعيدًا فقط تلك التي تملك عنصرًا مُحدّدًا يُساوي القيمة المنطقيّة True. ويتوقّف المُكرّر عندما تنتهي قيم البيانات المُعطاة أو قيم المُحدّدات. البنية العامة itertools.compress(data, selectors) المعاملات data البيانات التي ستُرشّح. selectors المُحدّدات التي تُحدّد ما إذا كانت البيانات ستنضم إلى المُكرّر المُعاد أو لا. القيمة المعادة مُكرّر يحتوي على عناصر الكائن data التي تُساوي مُحدّداتها القيمة المنطقيّة True. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> data ...

الدالة itertools.starmap()‎ في بايثون

تعيد الدّالة itertools.starmap()‎ مُكرّرًا يستدعي الدّالة باستخدام المُعاملات المُعطاة في الكائن القابل للتّكرار. تُستعمل عوضًا عن الدالة map()‎ عندما تكون قيم المُعاملات مُجموعةً في صفّ في كائن واحد قابل للتّكرار (أي أنّ البيانات قد جُمِّعَت مُسبقًا). الفرق بين الدالة map()‎ والدّالة itertools.starmap()‎ يُوازي الفرق بين الاستدعاء function(a,b)‎‎ والاستدعاء function(*c)‎‎. البنية العامة itertools.starmap(function, iterable) المعاملات function الدّالة المُراد استدعاؤها. iterable كائن قابل للتّكرار يحتوي على صفوف لتُمرّر إلى الدّالة كمُعاملات مُفكّكة. القيمة المعادة مُكرّر يُعيد نتائج استدعاء الدّالة واحدة بواحدة. أمثلة ...

الدالة itertools.combinations_with_replacement()‎ في بايثون

تعيد الدّالة itertools.combinations_with_replacement()‎ تسلسلات فرعيّة (subsequences) تُعدّ تجميعات ذات طول مُحدّد لعناصر الكائن القابل للتّكرار المُعطى مع السّماح للعناصر بأن تُكرَّر لأكثر من مرّة. تُنتَج التّجميعات حسب الترتيب المُعجميّ (lexicographic). ما يعني بأنّ الصّفوف النّاتجة ستكون مُرتّبةً إن كان الكائن القابل للتّكرار المُعطى مُرتّبًا. تُعامَل العناصر على أنّها فريدة حسب موقعها، وليس حسب قيمها. لذا إن كانت عناصر الكائن القابل للتّكرار المُدخَل فريدةً فستكون التّجميعات المُنتجةُ فريدةً كذلك. البنية العامة itertools.combinations_with_replacement(iterable, r) المعاملات iterable الكائن القابل للتّكرار. r طول الصّفوف ...

الدالة itertools.repeat()‎ في بايثون

تعيد الدّالة itertools.repeat()‎ مُكرّرًا يُعيد كائنًا مرارًا وتكرارًا بشكل لا نهائي أو لعدد مُحدّد من المرّات. تُستخدم مع الدالة map()‎ لاستدعاء دالّة عدّة مرّات بنفس المُعاملات. وتُستخدم كذلك مع الدالة zip()‎ لإنشاء جزء لا يتغيّر في كلّ صفّ. البنية العامة itertools.repeat(object[, times]) المعاملات object الكائن المُراد تكراره. times مُعامل اختياريّ يُحدّد عدد مرّات التّكرار، يكون التّكرار لا نهائيًّا إن لم تُمرّر له أيّة قيمة. القيمة المعادة مُكرّر يُعيد الكائنَ بشكل لا نهائيّ أو لعدد مُحدّد من المرّات حسب ما مُرِّرَ ...

الدالة itertools.tee()‎ في بايثون

تعيد الدّالة itertools.tee()‎ عددًا مُحدّدًا من المُكرّرات المُستقلّة عن بعضها البعض من كائن واحد قابل للتّكرار. البنية العامة itertools.tee(iterable, n=2) المعاملات iterable الكائن القابل للتّكرار. n عدد المُكرّرات المُستقلّة المرغوب إنشاؤها من الكائن iterable. القيمة المعادة عددٌ n من المُكرّرات المُستقلّة المُولَّدة من الكائن القابل للتّكرار المُعطى. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة: >>> it = itertools.tee('abc', 2) >>> it (<itertools._tee object at 0x7f79c6fc9f48>, <itertools._tee object at 0x7f79c4e73588>) >>> [list(i) for i in it] [['a', 'b', 'c'], ['a', 'b', 'c']] ملاحظات الدّالة ...

الدالة itertools.takewhile()‎ في بايثون

تعيد الدّالة itertools.takewhile()‎ مُكرّرًا يُعيد العناصرَ من الكائن القابل للتّكرار المعطى ما دامت العبارة المنطقيّة المُعطاة (التي تكون دالّة تستقبل العنصر وتُعيد قيمة منطقيّة) تُساوي القيمة المنطقيّة True. تعمل هذه الدّالة بطريقة مُعاكسة للدّالة itertools.dropwhile()‎ التّي تبدأ في إعادة القيم عند عدم تحقّق شرط العبارة المنطقيّة. البنية العامة itertools.takewhile(predicate, iterable) المعاملات predicate العبارة المنطقيّة التي ستُحدّد ما إذا كان المُكرّر سيتوقّف أو لا. عادة ما تكون دالّة تستقبل العنصر، إن أعادت القيمة True فسيُعاد العنصر، وما إن تُعيد القيمةَ False ...

الدالة itertools.count()‎ في بايثون

تعيد الدّالة itertools.count()‎ مُكرّرًا يُعيد قيمًا مُتساويّة الفرق بدءًا من قيمةٍ بدئيّة. عادة ما يُستخدم مع الدّالة map()‎ لتوليد نقاط بيانات تسلسليّة. وتُستخدم كذلك مع الدّالة zip()‎ لترقيم تسلسل معيّن. البنية العامة itertools.count(start=0, step=1) المعاملات start نقطة بداية العدّ. step الفرق بين كلّ قيمة والتي تليها. القيمة المعادة مُكرّرٌ يُعيد قيمًا مُتساويّة الفرق حسب قيم المُعاملات المُمرّرة. أمثلة المثال التّالي يوضّح كيفيّة عمل هذه الدّالة، لاحظ استعمال الدّالة next‎()‎ للوصول إلى القيمة المواليّة في المُكرّر، وهذا لأنّ المُكرّر النّاتج لا ...

الدالة itertools.accumulate()‎ في بايثون

تعيد الدّالة itertools.accumulate()‎ مُكرّرًا يُعيد مجموعات مُتراكمة، أو نتائج مُتراكمةً من دالّة أخرى. البنية العامة itertools.accumulate(iterable[, func]) المعاملات iterable الكائن القابل للتّكرار الذي ستُجمع عناصره بشكل تراكميّ أو ستُمرَّر عناصره إلى الدّالة الاختياريّة func. يُمكن لعناصر الكائن القابل للتّكرار أن تكون من أيّ نوع من أنواع المُعاملات التي تقبلها الدّالة func (مثلًا، مع عمليّة الجمع الافتراضيّة، يُمكن للعناصر أن تكون أي نوع قابل للجمع، ما يشمل Decimal وFraction.) إن كان الكائن iterable فارغًا، فالكائن النّاتج سيكون فارغًا كذلك. func مُعامل ...

الدالة itertools.filterfalse()‎ في بايثون

تعيد الدّالة itertools.filterfalse()‎ مُكرّرًا يُرشّح عناصر الكائن القابل للتّكرار المُعطى مُعيدًا تلك فقط التي تُعيد لها العبارة المنطقيّة المُعطاة القيمة المنطقيّة False‎. هذه الدّالة تعمل بطريقة مُعاكسة للدّالة filter()‎. البنية العامة itertools.filterfalse(predicate, iterable) المعاملات predicate العبارة المنطقيّة (تكون عادة دالّة) تُحدّد ما إذا كان العنصر سيُعاد أو لا. تُعاد العناصر فقط في حالة أَعَادت لها العبارة المنطقيّة المُعطاة القيمةَ False‎. إن كانت قيمة هذا المُعامل تُساوي القيمة None‎ فستُعاد العناصر التّي تُساوي قيمتها المنطقيّة القيمة False‎. iterable الكائن القابل للتّكرار ...

الدالة itertools.islice()‎ في بايثون

تعيد الدّالة itertools.islice()‎ مُكرّرًا يُعيد عناصر مُنتقاة من الكائن القابل للتّكرار المُعطى. تُنتقى العناصر بتقطيع الكائن القابل للتّكرار حسب المُعاملات المُعطاة للدّالة. البنية العامة itertools.islice(iterable, stop) itertools.islice(iterable, start, stop[, step]) المعاملات iterable الكائن القابل للتّكرار المرغوب تقطيع عناصره. start مُعامل اختياريّ يُمثّل نقطة البداية، إن كانت قيمتها لا تُساوي الصّفر، فستُتجاهل عناصر الكائن iterable إلى حين الوصول إلى العنصر الذي يُوافق فهرسه (index) قيمة start. stop مُعامل يُحدّد نقطة التّوقف، إن كانت قيمتُه القيمةَ None فسيستمرّ التّكرار إلى حين انتهاء قيم ...

الدالة itertools.permutations()‎ في بايثون

تعيد الدّالة itertools.permutations()‎ تبادلات مُتتابعةً بطول مُعيّن من عناصر الكائن القابل للتّكرار المُعطى. تُنتَج التّبادلات حسب الترتيب المُعجميّ (lexicographic). ما يعني بأنّ الصّفوف النّاتجة ستكون مُرتّبةً إن كان الكائن القابل للتّكرار المُعطى مُرتّبًا. تُعامَل العناصر على أنّها فريدة حسب موقعها، وليس حسب قيمها. لذا إن كانت عناصر الكائن القابل للتّكرار المُدخَل فريدةً فلن تُكرّر أيّة قيم في كلّ تبادل. البنية العامة itertools.permutations(iterable, r=None) المعاملات iterable الكائن القابل للتّكرار. r طول التّبادلات التي ستُنتَج. قيمته الافتراضيّة هي القيمة None إن لم ...

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

Python/types

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

Python/PEP

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

Python/macpath

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

Python/array

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

Python/fileinput

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

Python/namedtuple

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

Python/tempfile

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

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

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

Python/filecmp

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

Python/os.path

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

while في بايثون

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

Python/len

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

مفسر بايثون

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

Python/shutil

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

Python/Examples

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

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

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

Python/pathlib

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

Python/filesys

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

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

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

Python/glob

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

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

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

Python/linecache

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

Python/stat

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

Python/fnmatch

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

Python/Topics

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

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

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

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