الانتقال إلى المحتوى الرئيسي

أي دورة أسرع: لأو أثناء? مقارنة وكفاءة الحلقات في بايثون

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

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

"بينما" هي حلقة شرطية بشرط مسبق ينفذ تسلسلا معينا من العبارات بشكل متكرر طالما بقيت بعض الشروط صحيحة. يتم فحص هذا الشرط قبل كل تنفيذ لجسم الحلقة.

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

  1. مقارنة سرعة لحين الحلقات في بيثون
  2. خوارزميات حلقة في بايثون
  3. من أجل حلقة
  4. في حين حلقة
  5. مقارنة الدورة
  6. كفاءة الدورة
  7. ما هو لحلقة وكيف يعمل?
  8. كيفية استخدام حلقة بينما في بيثون
  9. مزايا وعيوب من أجل حلقة
  10. مزايا وعيوب حلقة في حين
  11. كيفية اختيار الدورة المناسبة لمهمتك
  12. مقارنة بين سرعة التنفيذ من أجل وأثناء الحلقات باستخدام أمثلة محددة
  13. سؤال وجواب
  14. أي حلقة أسرع في بايثون: لأو أثناء?
  15. ما هي الاختلافات الرئيسية بين لحلقة وحلقة بينما في بيثون?
  16. ما هي كفاءة الحلقات في بيثون?

مقارنة سرعة لحين الحلقات في بيثون

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

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

لأني في النطاق (10):

طباعة (ط)

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

أنا = 0

بينما أنا < 10:

طباعة (ط)

أنا + = 1

دعونا نقارن سرعة التنفيذ من أجل وأثناء الحلقات باستخدام مثال البحث عن مجموع جميع الأرقام من 1 إلى 1000000.

رمز للحلقة:

المجموع = 0

بالنسبة لي في النطاق (1 ، 1000001):

المجموع + = ط

الطباعة (المجموع)

رمز لحلقة في حين:

المجموع = 0

أنا = 1

بينما أنا < = 1000000:

المجموع + = ط

أنا + = 1

الطباعة (المجموع)

بعد تشغيل الكود وقياس وقت تنفيذ كلتا الدورتين ، يمكن استخلاص الاستنتاجات التالية:

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

يجب أن يتم الاختيار بين الدورات وأثناء الدورات بناء على تفاصيل المهمة والتفضيلات الشخصية للمطور.

خوارزميات حلقة في بايثون

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

من أجل حلقة

يمكن استخدام الحلقة للتكرار من خلال العناصر الموجودة في مجموعة أو لتكرار عدد معين من المرات. خوارزمية الحلقة هي كما يلي:

  1. التهيئة-تحديد القيمة الأولية لمتغير العداد.
  2. شرط التنفيذ هو التحقق من الشرط الذي يجب أن يعود قيمة منطقية: صحيح أم خطأ.
  3. التعليمات هي كتلة من التعليمات البرمجية التي سيتم تنفيذها في كل تكرار للحلقة.
  4. يؤدي تغيير متغير العداد إلى تعيين قيمة جديدة لمتغير العداد بعد تنفيذ كتلة من التعليمات البرمجية.
  5. ارجع إلى الخطوة 2 وكرر الخطوات حتى تظل حالة التنفيذ صحيحة.

مثال:

الفواكه = ["التفاح" ، "الموز" ، "الكمثرى"]

للفاكهة في الفواكه:

طباعة (فاكهة)

تتكرر هذه الحلقة من خلال جميع العناصر الموجودة في قائمة الفواكه وتعرضها على الشاشة.

في حين حلقة

في حين حلقة يسمح لك لتكرار طالما أن الشرط المحدد لا يزال صحيحا. خوارزمية حلقة بينما هي كما يلي:

  1. التهيئة-تحديد القيمة الأولية لمتغير العداد.
  2. شرط التنفيذ هو التحقق من الشرط الذي يجب أن يعود قيمة منطقية: صواب أو خطأ.
  3. التعليمات هي كتلة من التعليمات البرمجية التي سيتم تنفيذها في كل تكرار للحلقة.
  4. يؤدي تغيير متغير العداد إلى تعيين قيمة جديدة لمتغير العداد بعد تنفيذ كتلة من التعليمات البرمجية.
  5. ارجع إلى الخطوة 2 وكرر الخطوات حتى تظل حالة التنفيذ صحيحة.

مثال:

أنا = 0

بينما أنا < 3:

طباعة (ط)

أنا + = 1

تتكرر هذه الحلقة حتى يكون المتغير الأول أقل من 3. في كل تكرار للحلقة ، تزداد قيمة المتغير الأول بمقدار واحد.

مقارنة الدورة

على حد سواء لحين الحلقات يمكن استخدامها لحل نفس المشكلة ، ولكن لديهم خصائصها والاختلافات.

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

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

كفاءة الدورة

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

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

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

لذلك ، لتحديد الدورة الأكثر كفاءة ، يلزم إجراء تحليل لكل حالة على حدة وتحسين الخوارزمية ، إذا لزم الأمر.

ما هو لحلقة وكيف يعمل?

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

الهيكل الأساسي للحلقة يشبه هذا:

للعنصر في التسلسل:

كتلة التعليمات البرمجية

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

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

على سبيل المثال ، يوضح التعليمة البرمجية التالية استخدام حلقة لعرض كل عنصر قائمة:

الفواكه = ['التفاح' ، 'الموز' ، 'الكمثرى']

للفاكهة في الفواكه:

طباعة (فاكهة)

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

  • أبل
  • الموز
  • الكمثرى

تتيح لك الحلقة أيضا استخدام فهارس عناصر التسلسل باستخدام وظيفة التعداد (). على سبيل المثال:

الفواكه = ['التفاح' ، 'الموز' ، 'الكمثرى']

بالنسبة لي ، الفاكهة في تعداد (الفواكه):

طباعة (أنا ، الفاكهة)

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

  • 0 تفاحة
  • 1 موزة
  • 2 الكمثرى

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

كيفية استخدام حلقة بينما في بيثون

بيثون بينما يتم استخدام حلقة لأداء العمليات المتكررة طالما أن الشرط لا يزال صحيحا. يحتوي على بناء الجملة التالي:

بينما الشرط:

كتلة التعليمات البرمجية

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

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

مثال على استخدام حلقة بينما:

عداد = 0

بينما العداد < 5:

طباعة ('القيمة الحالية للعداد:' ، عداد)

عداد + = 1

في هذا المثال ، سيتم تشغيل الحلقة حتى تكون قيمة العداد أقل من 5. في كل تكرار للحلقة ، سيتم عرض القيمة الحالية للعداد ، ثم سيزيد العداد بمقدار 1. ستكون نتيجة البرنامج على النحو التالي:

قيمة العداد الحالية: 0

قيمة العداد الحالية: 1

القيمة الحالية للعداد: 2

قيمة العداد الحالية: 3

قيمة العداد الحالية: 4

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

مزايا وعيوب من أجل حلقة

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

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

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

مزايا وعيوب حلقة في حين

المزايا:

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

العيوب:

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

النتيجة:

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

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

هناك نوعان رئيسيان من الحلقات في بيثون: لفترة من الوقت. يعتمد اختيار نوع الدورة المناسب على المهمة المحددة والمتطلبات التي يجب الوفاء بها.

وهنا بعض النقاط الرئيسية التي سوف تساعدك على اتخاذ خيار:

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

هناك أيضا العديد من المواقف الأخرى التي يمكن أن تكون فيها الحلقات مفيدة.:

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

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

مقارنة بين سرعة التنفيذ من أجل وأثناء الحلقات باستخدام أمثلة محددة

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

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

أنا + = 1

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

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