تابع ()sleep در پایتون – به زبان ساده


«زبان برنامه نویسی پایتون» (Python Programming Language) دارای توابع بسیاری است که کاربردهای گوناگونی دارند. در این مطلب، به تابع ()sleep در پایتون پرداخته خواهد شد. برای مطالعه مباحث مقدماتی، مطلب «پایتون برای مبتدیان — به زبان ساده» توصیه میشود.
تابع ()sleep در پایتون
تابع ()sleep در پایتون اجرای «ریسه اجرایی» (Thread) کنونی را به اندازه مدت زمانی که بر حسب ثانیه به آن داده شده است، به تاخیر میاندازد. پایتون دارای یک ماژول با نام time است که دارای چندین تابع مفید برای مدیریت وظایف مرتبط با زمان است. در این راستا، یکی از توابع محبوب ()sleep است. تابع ()sleep اجرای ریسه کنونی را برای مدت زمان داده شده (به ثانیه)، به تاخیر میاندازد.
مثال ۱: ()sleep پایتون
روش کار قطعه کد بالا، در زیر بیان شده است:
- «Printed immediately» چاپ میشود و منظور ان است که متن فورا چاپ شده است.
- به مدت ۲.۴ ثانیه تاخیر در اجرا وجود داشته است.
- «Printed after 2.4 seconds» در خروجی چاپ میشود و به معنای آن است که پس از ۲.۴ ثانیه تاخیر که با استفاده از دستور پیشین ایجاد شده، پیام چاپ شده است.
همانطور که میتوان در مثال بالا مشاهده کرد، ()sleep یک عدد ممیز شناور را به عنوان آرگومان دریافت میکند.
مثال ۲: ساخت یک ساعت دیجیتال در پایتون
در برنامه بالا، زمان محلی کنونی درون یک حلقه بینهایت محاسبه و چاپ میشود. سپس، برنامه به مدت ۱ ثانیه صبر میکند. مجددا، زمان محلی کنونی، محاسبه و چاپ میشود. این فرایند ادامه دارد. هنگامی که برنامه اجرا میشود، خروجی به صورت زیر خواهد بود.
02:10:50 PM 02:10:51 PM 02:10:52 PM 02:10:53 PM 02:10:54 PM ... .. ...
در ادامه، نسخه بهبود یافته قطعه کد بالا، ارائه شده است.
چند ریسمانی در پایتون
پیش از صحبت کردن پیرامون ()sleep در برنامههای چند ریسمانی، مباحثی پیرامون پردازشها و ریسمانها مورد بررسی قرار میگیرد. یک برنامه کامپیوتری، مجموعهای از دستورالعملها است. یک پردازش، در واقع اجرای این دستورالعملها است. ریسه زیرمجموعهای از پردازش است. یک پردازش میتواند یک یا تعداد بیشتری ریسه داشته باشد.
مثال ۳: چند ریسمانی در پایتون
در ادامه، مثالی از برنامه پایتون چند ریسمانی ارائه شده است.
خروجی حاصل از اجرای برنامه به صورت زیر خواهد بود.
برنامه بالا، دارای دو ریسه t1 و t2 است. این ریسهها با استفاده از دستورات ()t1.start و ()t2.start اجرا میشوند. توجه به این نکته لازم است که t1 و t2 همزمان هستند و کاربر ممکن است خروجیهای متفاوتی دریافت کند.
()time.sleep در برنامههای چند ریسمانی
تابع ()sleep اجرای برنامه برای ریسه کنونی را به مدت زمانی که به آن داده شده است (به ثانیه) به تاخیر میاندازد. در برنامههای تکریسهای، ()sleep اجرای ریسه و پردازش را معوق میکند. اگرچه، تابع، یک ریسه را به جای کل فرایند در برنامههای چند ریسمانی معوق میکند.
مثال ۴: ()sleep در برنامهنویسی چند ریسمانی
در برنامه بالا، دو ریسه وجود دارد. از (time.sleep(0.5 و (time.sleep(0.75 برای تعلیق اجرای این دو ریسمان به ترتیب به مدت ۰.۵ و ۰.۷ ثانیه استفاده شده است.
اگر نوشته بالا برای شما مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای برنامهنویسی پایتون Python
- آموزش تکمیلی برنامهنویسی پایتون
- مجموعه آموزشهای دادهکاوی و یادگیری ماشین
- زبان برنامهنویسی پایتون (Python) — از صفر تا صد
- یادگیری علم داده (Data Science) با پایتون — از صفر تا صد
- آموزش پایتون (Python) — مجموعه مقالات جامع وبلاگ فرادرس
^^
تابع import چه کار مکنه؟
کتابخانه هارا فرا می خواند؟
import time
while True:
localtime = time.localtime()
result = time.strftime(“%I:%M:%S %p”, localtime)
print(result)
time.sleep(1)
چطوری میتونم این ساعت رو داخل ی تکست باکس نمایش بدم ؟؟