Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Python
Code

مقدمه لمولدات بيثون

by
Difficulty:IntermediateLength:ShortLanguages:

Arabic (العربية/عربي) translation by ahmedmetwaly (you can also view the original English article)

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

أساسيات

المولد هو الدالة التي تقوم بإرجاع كائن المولد الذي يمكنك استدعاء الأسلوب التالي () ، بحيث انه بالنسبة لكل مكالمة ترجع قيمه أو القيمة التالية. وظيفة بيثون العادية يستخدم الكلمة الرئيسية العودة لإرجاع القيم ، ولكن المولدات استخدام الكلمة الرئيسية العائد لإرجاع القيم. وهذا يعني ان اي وظيفة بيثون تحتوي علي بيان الغلة هو وظيفة مولد.

وعادة ما يوقف بيان العائد الوظيفة ويحفظ الدوال المحلية بحيث يمكن استئنافها حيث توقفت. وظائف مولد يمكن أن يكون واحد أو أكثر من بيانات العائد.

مولد هو أيضا التكرار، ولكن ما هو التكرار؟ قبل أن نغوص في تفاصيل المولدات الكهربائية، أعتقد أنه من المهم أن نعرف ما هي المفكرات لأنها تشكل جزءا لا يتجزأ من هذه المناقشة.

Python Iterators

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

لننظر في المثال أدناه، الذي ننتقل فيه إلى قائمة من الألوان:

وراء الكواليس، سيقوم البيان بالاسم إيتر () على كائن القائمة. ثم تقوم الدالة بإرجاع كائن التكرار الذي يحدد الطريقة __next __ ()، والتي سوف ثم الوصول إلى كل لون، واحد في وقت واحد. عندما لا يكون هناك المزيد من الألوان اليسار، __next__ سوف يثير استثناء ستوبتيراشيون، والتي بدورها إبلاغ حلقة لإنهاء.

التكرار عبر القاموس

التكرار على الصفوف في ملف كسف

التكرار عبر سلسلة

فوائد استخدام المولدات الكهربائية

دعوانا نناقش بعض فوائد استخدام المولدات بدلا من المكرر:

سهله التنفيذ

بناء المكرر في بيثون سيتطلب منك لتنفيذ الطبقة مع ____--() و ____ () الأساليب وكذلك الاعتناء بأي أخطاء قد تسبب خطا في التكرار.

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

استهلاك ذاكره اقل

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

تحسين الأداء والتحسين

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

كيفيه إنشاء مولد في بيثون

إنشاء مولد من السهل جدا. كل ما عليك القيام به هو كتابة وظيفة عادية، ولكن مع بيان العائد بدلا من بيان العودة، كما هو مبين أدناه.

في حين أن بيان العودة ينهي وظيفة تماما، ينتج فقط توقف وظيفة حتى يتم استدعاؤه مرة أخرى بواسطة الطريقة التالية ().

على سبيل المثال، البرنامج أدناه يستفيد من كل من العائد والقادم () البيانات.

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

لنري كيف تعمل المولدات النظر في المثال أدناه.

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

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

وفيما يلي القيم المتبقية اللاحقة.

إذا حاولت استدعاء الدالة بعد إكمال الحلقة، سوف تحصل على خطأ ستوبتيراشيون.

يتم رفع التكرار بواسطة الأسلوب التالي () للاشاره إلى انه لا توجد إيه عناصر اضافيه التي تم إنتاجها بواسطة المكرر.

المثال 2

في هذا المثال، نعرض كيفية استخدام عبارات متعددة للعائد في إحدى الدالات.

في حين أن الدالة العادية ترجع كافة القيم عند استدعاء الدالة، ينتظر المولد حتى يتم استدعاء الأسلوب التالي () مرة أخرى. مرة واحدة التالي () يسمى، وظيفة الألوان يستأنف من حيث توقفت.

الاستنتاج

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

بالإضافة إلى ذلك، لا ننسى أن نرى ما لدينا المتاحة للبيع والدراسة في إنفاتو السوق، ولا تتردد في طرح أي أسئلة وتقديم ملاحظاتك القيمة باستخدام تغذية أدناه.

وعلاوة علي ذلك ، إذا كنت تشعر بالتمسك ، وهناك دوره جيده جدا علي المولدات بيثون في قسم الدورة.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.