مرحبًا بعودتك.
أريدنا أن نفهم كيف تعمل الأشياء تحت الغطاء.
سأريكم مثالين لتطبيق حلقة for الخاصة بنا ثم تنفيذ دالة المدى
الخاصة بنا.
إذن ، أول واحد هو حلقة for.
لذلك سأقول حلقة خاصة.
تحت غطاء المحرك ، كل ما يفعله هو تلقي تكرار.
وبعد ذلك سنقول مكرر.
سيساوي التكرار الآن بالنسبة لنا للحصول على متكرر.
لدينا ما نسميه وظيفة داخلية.
هذا يقبل التكرار الذي مررنا به للتو.
الآن سيسمح لنا هذا التدخل باستخدام الوظيفة التالية في هذا التكرار.
لذا ابق معي.
سأقول بينما كان ذلك صحيحًا.
أريد أن أجرب.
وفي كتلة القبيلة هذه ، سنقول مكررًا.
ويمكننا إجراء نوع من العمليات هنا إذا أردنا ذلك.
أو يمكننا فقط استدعاء المكرر التالي.
أتعلم؟
دعنا نطبع شيئًا هنا ، فقط حتى نرى ما هو المكرر.
وأخيرًا ، أريد أن نتوقف عندما يكون لدينا استثناء إيقاف التكرار.
تذكر الذي رأيناه حيث لا يوجد المزيد من العناصر في Iterable؟
وهنا يمكننا ببساطة كسر.
اذهب وتأكد من ذلك.
لدي ضبط Colin بشكل صحيح.
الآن إذا قمت بعمل حلقة for خاصة وأعطيتها قائمة من واحد ، اثنان ، ثلاثة ، ثم قمت بالنقر فوق تشغيل.
تحقق من ذلك.
أقوم بعمل حلقة عبر بعض الكائنات القابلة للتكرار باستخدام التالي.
وترى أن هذا الكائن موجود في نفس مساحة الذاكرة ، على الرغم من أننا ندور حوله باستمرار
من خلال 1 إلى 3.
هذه هي الطريقة التي تعمل بها أربع حلقات تحت الغطاء عندما نفعل ذلك لنفترض NUM ثم نعطيه قائمة.
سوف يمر بكل شيء.
سيحوله إلى تكرار وسيستمر في العمل ويستمر في استدعاء المكرر التالي عليه مرارًا
وتكرارًا حتى ننتهي من نهاية السطر ثم نخرج من الحلقة.
وكيف نتحقق من القيم الفعلية للمكرر؟
حسنًا ، تذكر أن الوظيفة التالية ستخرج أيًا كان العنصر التالي.
لذلك إذا قمت بطباعة هنا.
وأنا انقر فوق تشغيل.
انا حصلت.
واحد اثنين ثلاثة.
لذا يمكنني أن أقوم بضربتي مرتين إذا أردت النقر فوق "تشغيل".
وها أنت ذا.
ضربنا الخاص لـ Loop قائمتنا في اثنين.
هذا هو.
هذه هي الطريقة التي تعمل بها الحلقات حقًا.
لكن ماذا عن النطاقات؟
هل يمكننا إنشاء وظيفة النطاق الخاصة بنا؟
بالتأكيد نستطيع.
وهذا ممتع.
دعنا ننشئ فصلًا وهذا الفصل لأنه في نهاية اليوم ، سنقوم فقط بإنشاء كائن.
هذا له أفعال يمكننا القيام بها.
لذلك سأقول جنيني للمولد الخاص بي وهذا سيحاكي ما يفعله نطاقنا.
لذلك سأحضر فصلًا وسيكون لهذا الفصل وظيفة init.
سيكون لدينا نفس ، أولاً وأخيراً.
هذه هي الطريقة التي يمكننا أن نقول فيها عن النطاق ، ابدأ بهذا وانتهى به.
وهنا سنفعل النقطة الذاتية النموذجية أولاً.
يساوي الأول.
ومن ثم فإن النقطة الأخيرة تعني أن تدوم.
وأنا أستخدم فصلًا دراسيًا هنا لأننا نتذكر أننا نقوم فقط بإنشاء نوع بيانات خاص
بنا ، نطاقنا الخاص في Python.
الآن لدينا مُنشئ العينات الخاص بنا ، ومن الناحية المثالية نريد أن نكون قادرين على أن نقول إن gen تساوي
وأن نجعل جيني يمتلك ، دعنا نقول من 0 إلى 100 تمامًا كما نفعل مع النطاق.
ومن الناحية المثالية يمكننا أن نقول عن الذكاء الاصطناعي والعام.
وطباعة.
أنا لأني أعني ، هذه هي الطريقة التي يمكننا بها استخدام النطاقات ، أليس كذلك؟
فكيف يمكنني أن أجعل هذا يعمل؟
حسنًا ، يمكننا استخدام أساليب الغطس لدينا.
لذلك تذكر كيف لدينا الأيتر.
للحصول على مكرر واستخدامه بعد ذلك.
حسنًا ، لدينا تعريف الغامض وهو الباعث والباعث الذي يسمح لنا بالخلق.
صالح للزراعة.
لذا في حالتنا سأقول ذاتيًا وهنا سأعيد الفصل الفعلي على هذا النحو.
وأخيرًا نريد أن نتمكن من تشغيل الوظيفة التالية على Jen لأننا رأينا كيف تعمل الحلقات الأربع.
نحتاج إلى أن نكون قادرين على استخدام itor ثم M&M التالية.
مرة أخرى ، يمكننا استخدام طريقة الغطس ، والتي تسمى بسهولة.
التالي.
وهذا مدمج في بايثون.
لذلك إذا كنت أفعل هنا ذاتي.
وكل ما نريد القيام به هنا هو أن نجعلها تعرف كيف نريد بعد ذلك العمل.
حسنًا ، سأقول إذا.
ونحتاج إلى نوع من الحالة أو البيانات لتتبع مكاننا.
تذكر كيف يعمل المولد.
تذكر أين هم.
حسنًا ، يمكننا إنشاء سمة كائن فئة.
إذن يمكنني القول أن التيار يساوي صفرًا.
هذا هو المكان الذي نحن فيه حاليًا في التكرار ونقول تيار نقطي الجيني.
طالما أن هذا أقل من النقطة الذاتية الأخيرة ، فستكون 100 هنا.
إذا كان هذا هو الحال.
حسنًا ، أريد رقمًا يساوي تيار نقطي العام.
أريد زيادة تيار نقطتي العامة بمقدار واحد لأننا نريد أن نقول ، مرحباً ، نحن ننتقل إلى
الموقع التالي ثم نعود.
الرقم.
لأن هذه هي الطريقة التالية تحت غطاء المحرك ، أليس كذلك؟
نزيد موقعنا الحالي بمقدار واحد ونعيد ببساطة الرقم ، وهو ، حسنًا ، في
حالتنا ، سيكون صفرًا.
ونريد أن نستمر ، نواصل ، نستمر.
حسنًا حتى التيار لم يعد أكبر من الماضي.
في هذه الحالة ، سنقوم ببساطة بإيقاف التكرار لأنه لا يوجد المزيد من الأشياء للتكرار.
دعونا نرى إذا كان هذا يعمل.
سأقوم بتشغيل هذا.
وانظر إلى أن كل شيء يعمل.
تمكنت من إجراء حلقة عبر المولد الخاص بي وطباعة أنا من الصفر وصولاً إلى 99.
مرة أخرى ، إذا عدنا إلى مثالنا هنا.
وأنا أعلم أنه من الصعب بعض الشيء النظر إليه في البداية.
ولكن كل ما فعلته هو أنني أريد أن يكون لوظيفة تكنولوجيا المعلومات خيار الأول والأخير.
وسأريد أن أكون قادرًا على تكرار هذا الكائن الذي سأقوم بإنشائه.
وأريد أيضًا أن أكون قادرًا على استخدام حلقة for التالية ، إذا كنت تتذكر من مثالنا السابق ، الاحتياجات.
لذا سأقول أربعة عناصر في جين.
مجرد حلقة من خلالها.
أنا قادر على المرور عبرها لأن هذا هو الآن مكرر ويمكنني استخدام القيمة التالية
عليه لأنني أسمح لنا بالتكرار والزيادة باستمرار بمقدار واحد.
حتى نستمر في إعادة الرقم.
استمر في إعادة الرقم حتى يصبح جيني الحالي 101 مائة لا يقل عن 100 ، وهو أقل ذاتيًا.
لذلك سوف يرفع وقف التكرار.
تلتقطنا الحلقة for تلقائيًا حتى لا تخطئ وتتوقف عن التكرار.
هذه هي الطريقة التي تعمل بها الأشياء تحت غطاء المحرك مع النطاق.
الآن ، لست بحاجة إلى معرفة هذا.
لن يُطلب منك يومًا بعد يوم تنفيذ ذلك.
لكنني أردت أن أوضح لك أن هذه هي الطريقة التي تعمل بها الأشياء.
أعتقد أن هذا مهم.