שלום לכולם, מקווים שאתם לומדים פייתון בצורה טובה. במדריך הזה נלמד על שיטת ה-\texttt{sleep()} של פייתון. הפונקציה \texttt{sleep()} של פייתון שייכת למודול \texttt{time} שכבר נדבר עליו בקודם. \texttt{}Python time\texttt{} היא חלק ממודול זה שכבר נדבר עליו קודם \texttt{
Python time sleep
}. הפונקציה \texttt{sleep} משמשת ליצירת עיכוב בביצוע התוכנית. ניתן להשתמש בה כדי לעצור את ביצוע התוכנית לזמן נתון בשניות. יש לשים לב שהפונקציה מעצירה את ביצוע הלחץ הנוכחי בלבד, ולא את כל התוכנית \texttt{
Python time sleep() function syntax
}. \texttt{sleep()} של פייתון היא שיטה במודול \texttt{time} שצריך לייבא קודם כל. השיטה משתמשת ב-\texttt{sleep()} כך: \texttt{} כאן, הארגומנט של שיטת \texttt{sleep()} הוא $t$ בשניות. זאת אומרת, כאשר ההצהרה \texttt{time.sleep(t)} מתבצעת, אז השורה הבאה בקוד תתבצע לאחר $t$ שניות. ראו את הדוגמה הבאה: \texttt{
} # מייבאים את מודול הזמן
import time
print("Before the sleep statement")
time.sleep(5)
print("After the sleep statement")
אם תפעיל את הקוד שמעלה אז תראה שההדפסה השנייה מתבצעת אחרי 5 שניות. לכן תוכל ליצור השהיה בקוד שלך כפי שנדרש. הארגומנט יכול להיות בערך עשוי גם להיות ערך צפוף יותר כדי לקבוע השהיה מדויק יותר. לדוגמה, אם ברצונך ליצור השהיה של 100 מילישניות שהם 0.1 שניות, כך תעשה:
import time
time.sleep(0.100)
דוגמה ל sleep בפייתון
בואו נראה את הדוגמה הבאה לפונקציית sleep של פייתון.
import time
startTime = time.time()
for i in range(0,5):
print(i)
# השהיה למשך 1 שנייה
time.sleep(1)
endTime = time.time()
elapsedTime = endTime - startTime
print("Elapsed Time = %s" % elapsedTime)
זה יפליט:
0
1
2
3
4
Elapsed Time = 5.059988975524902
הזמן שחלף הוא גדול מ-5 מכיוון שבכל פעם בלולאה, הביצוע מושהה לשנייה. הזמן הנוסף הוא בגלל זמן הביצוע של התוכנית, קידוד התהליך של מערכת ההפעלה וכו '
זמן השהיה השונה של sleep בפייתון
לפעמים עשוי להיות צורך בהשהיה לזמן שונה. ניתן לעשות זאת כך:
import time
for i in [ .5, .1, 1, 2]:
print("Waiting for %s" % i , end='')
print(" seconds")
time.sleep(i)
זה יפליט:
Waiting for 0.5 seconds
Waiting for 0.1 seconds
Waiting for 1 seconds
Waiting for 2 seconds
הדפסה דרמטית באמצעות sleep()
אתה עשוי לצורך להדפיס הודעה מסוימת בדרך דרמטית, תוכל לעשות זאת כך:
# יבוא מודול הזמן
import time
message = "Hi!!! I am trying to create suspense"
for i in message:
# הדפסת כל תו מההודעה
print(i)
time.sleep(0.3)
אם תריץ את הקוד למעלה, תראה שאחרי הדפסת כל תו מההודעה זמן קצת, שנראה כמו דרמטי.
שינוי לשרשור בפייתון
הפונקציה time.sleep() בפייתון היא שיטה חשובה מאוד לשימוש במרוצת. להלן דוגמה פשוטה המראה שהפונקציה time.sleep בפייתון משהה את ביצוע המרוץ הנוכחי רק בתכנות בעלי רקע מרובה.
import time
from threading import Thread
class Worker(Thread):
def run(self):
for x in range(0, 11):
print(x)
time.sleep(1)
class Waiter(Thread):
def run(self):
for x in range(100, 103):
print(x)
time.sleep(5)
print("Staring Worker Thread")
Worker().start()
print("Starting Waiter Thread")
Waiter().start()
print("Done")
התמונה למטה מראה את הפלט שיוצר הדוגמה של שינוי לשרשור בפייתון. מהפלט ברור במיוחד שרק הלוכדים נעצרים מביצוע ולא כל התוכנית על ידי פונקציית time.sleep בפייתון. זו כל המידע לגבי פונקציית time.sleep בפייתון או פונקציית sleep בפייתון. מקור: פוסט ב-StackOverFlow, מסמך API
Source:
https://www.digitalocean.com/community/tutorials/python-time-sleep