English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل Python الأساسي

تحكم في العملية في Python

الوظائف في Python

نوع البيانات في Python

عمليات ملفات Python

أجسام وصفات Python

تاريخ ووقت Python

معرفة متقدمة في Python

دليل Python

sleep() في Python

تقوم وظيفة sleep() بتعليق (الانتظار) تنفيذ النواة الحالية لمدة ثوانٍ معينة.

يوجد في Python وحدة تُدعىtimeالوحدة، التي توفر بعض الوظائف المفيدة لمعالجة المهام المتعلقة بالوقت.

توقف وظيفة sleep() تنفيذ الخيط الحالي لعدد الثواني المحددة.

مثال 1: Python sleep()

import time
print("الطباعة فورًا")
time.sleep(2.4)
print("2.4 ثانية بعد الطباعة")

يعمل هذا البرنامج كما يلي:

  • تم الإخراج "الطباعة فورًا"

  • التوقف (التأخير) لمدة 2.4 ثانية.

  • الإخراج "2.4 ثانية بعد الطباعة".

من خلال مثال أعلاه، يمكن رؤية أن sleep() يستخدم عددًا عشريًا كمعامل.

قبل إصدار Python 3.5، قد يكون وقت التوقف الفعلي أقل من المعامل المحدد لـ time() وظيفة.

من إصدار Python 3.5، سيكون وقت التوقف على الأقل ثانية واحدة كما تم تحديده.

مثال 2: إنشاء ساعة رقمية باستخدام Python

import time
while True:
  localtime = time.localtime()
  result = time.strftime("%I:%M:%S \p", localtime)
  print(result)
  time.sleep(1)

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

عند تشغيل البرنامج، الناتج سيكون مشابهًا لـ:

02:10:50 PM
02:10:51 PM
02:10:52 PM
02:10:53 PM
02:10:54 PM
... .. ...

هذه نسخة أفضل قليلاً من البرنامج المذكور أعلاه.

import time
while True:
  localtime = time.localtime()
  result = time.strftime("%I:%M:%S \p", localtime)
  print(result, end="", flush=True)
  print("\r", end="", flush=True)
  time.sleep(1)

المتسلسل المتعدد في Python

قبل مناقشة برنامج المتسلسل المتعدد sleep()، دعونا نتحدث عن العمليات والنواة.

برنامج الحاسوب هو مجموعة من الأوامر. العمليات هي تنفيذ هذه الأوامر.

النواة هي مجموعة من العمليات. يمكن للعمليات أن تحتوي على نواة واحدة أو أكثر.

مثال 3: Python المتسلسل المتعدد

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

import threading 
  
def print_hello_three_times():
  for i in range(3):
    print("Hello")
  
def print_hi_three_times(): 
    for i in range(3): 
      print("Hi") 
t1 = threading.Thread(target=print_hello_three_times)  
t2 = threading.Thread(target=print_hi_three_times)  
t1.start()
t2.start()

عند تشغيل البرنامج، الناتج سيكون مشابهًا لـ:

Hello
Hello
Hi
Hello
Hi
Hi

البرنامج المذكور أعلاه يحتوي على اثنين من الخيوطt1وt2.هذه الخيوط يتم تشغيلها باستخدام جمل t1.start() و t2.start().

لاحظ،t1وt2عندما يتم تشغيلها معًا، قد تحصل على نتائج مختلفة.

استخدام time.sleep() في برنامج متعدد الخيوط

توقف وظيفة sleep() تنفيذ الخيط الحالي لعدد الثواني المحددة.

إذا كان البرنامج متسلسلاً، فإن sleep() سيتوقف تنفيذ الخيط والعمليات. ولكن، لا توقف هذه الوظيفة العمليات بأكملها في برنامج متعدد الخيوط، بل توقف فقط الخيط.

مثال 4: استخدام sleep() في برنامج متعدد الخيوط

import threading 
import time
  
def print_hello():
  for i in range(4):
    time.sleep(0.5)
    print("Hello")
  
def print_hi(): 
    for i in range(4): 
      time.sleep(0.7)
      print("Hi") 
t1 = threading.Thread(target=print_hello)  
t2 = threading.Thread(target=print_hi)  
t1.start()
t2.start()

البرنامج المذكور أعلاه يحتوي على اثنين من الخيوط. لقد استخدمنا هاتين الخيوط time.sleep(0.5) وtime.sleep(0.75) حيث يختلف وقت التوقف بينهما 0.5 ثانية و 0.7 ثانية.