وظيفة نوم Python - كيفية جعل Python تنتظر بضع ثوانٍ قبل المتابعة ، بأوامر على سبيل المثال

يمكنك استخدام sleep()وظيفة Python لإضافة تأخير زمني إلى التعليمات البرمجية الخاصة بك.

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

from time import sleep sleep(2) print("hello world") 

عندما أقوم بتشغيل الكود أعلاه ، هناك حوالي ثانيتين تأخير قبل طباعة "hello world".

واجهت تأخيرًا بسبب sleep()إيقاف "تنفيذ سلسلة الاستدعاء" لعدد من الثواني (على الرغم من أن الوقت المحدد تقريبي). لذلك توقف تنفيذ البرنامج مؤقتًا لمدة ثانيتين تقريبًا في المثال أعلاه.

في هذه المقالة ، ستتعلم كيفية وضع كود Python في وضع السكون.

تفاصيل النوم

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

from time import sleep 

sleep () يأخذ حجة واحدة: ثواني. هذا هو مقدار الوقت (بالثواني) الذي تريده لتأخير الكود الخاص بك.

seconds = 2 sleep(seconds) 

النوم أثناء العمل

الآن دعنا نستخدم sleep()عدة طرق مختلفة.

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

from time import sleep print("Hello") sleep(2) print("World") 

هذا ما حدث عندما قمت بتشغيل الكود:

"Hello"هذا الخط مطبوع على الفور.

بعد ذلك ، كان هناك تأخير لمدة ثانيتين تقريبًا.

"World" تمت طباعة هذا الخط بعد ثانيتين تقريبًا من الأولى.

يمكنك أن تكون دقيقا

اجعل تأخرك الزمني محددًا بتمرير رقم فاصلة عائمة إلى sleep().

from time import sleep print("Prints immediately.") sleep(0.50) print("Prints after a slight delay.") 

هذا ما حدث عندما قمت بتشغيل الكود:

"Prints immediately." هذا الخط طبع على الفور.

بعد ذلك ، كان هناك تأخير بنحو 0.5 ثانية.

"Prints after a slight delay." تمت طباعة هذا الخط بعد حوالي 0.5 ثانية من الأول.

قم بإنشاء طابع زمني

إليك مثال آخر يجب مراعاته.

في الكود أدناه ، أقوم بإنشاء خمسة طوابع زمنية. أستخدم sleep()لإضافة تأخير لمدة ثانية واحدة تقريبًا بين كل طابع زمني.

import time for i in range(5): current_time = time.localtime() timestamp = time.strftime("%I:%m:%S", current_time) time.sleep(1) print(timestamp) 

هنا ، أقوم باستيراد وحدة الوقت بالكامل حتى أتمكن من الوصول إلى وظائف متعددة منها ، بما في ذلك السكون ().

import time 

ثم أقوم بإنشاء حلقة for تتكرر خمس مرات.

for i in range(5): ... 

في كل تكرار ، أحصل على الوقت الحالي.

current_time = time.localtime() 

أحصل على طابع زمني باستخدام وظيفة أخرى في الوحدة الزمنية ، strftime().

timestamp = time.strftime("%I:%m:%S", current_time) 

وظيفة النوم () هي التالية ، مما يؤدي إلى تأخير كل تكرار للحلقة.

time.sleep(1) 

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

يبدو الإخراج كالتالي:

04:08:37 04:08:38 04:08:39 04:08:40 04:08:41 

sleep () وتجربة المستخدم

هناك طريقة أخرى للاستخدام sleep()وهي تحسين تجربة المستخدم من خلال إنشاء بعض التشويق.

from time import sleep story_intro = ["It", "was", "a", "dark", "and", "stormy", "night", "..."] for word in story_intro: print(word) sleep(1) 

هنا ، أكرر من خلال قائمة الكلمات في story_intro. لإضافة التشويق ، أستخدم وظيفة sleep () للتأخير بحوالي ثانية بعد طباعة كل كلمة.

time.sleep(1) 

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

أكتب عن تعلم البرمجة ، وأفضل الطرق للقيام بذلك على موقع amymhaddad.com. تغرد عن البرمجة والتعلم والإنتاجية: amymhaddad.