آدرس : تهران میدان فردوسی خیابان ایرانشهر بین سمیه و طالقانی مجتمع تجاری میلاد واحد 9

پشتیبانی 24 ساعته : 02188867940 – 09927674217

برای مشاهده لیست علاقه مندی ها وارد شوید!

مشاهده محصولات فروشگاه
0

هیچ محصولی در سبد خرید نیست.

مدیران زمینه و با بیانیه

دسته بندی :اخبار سایت 12 فوریه 2023 علیرضا بابامرادی 291

دستور with در پایتون به عنوان یک ویژگی مبهم در نظر گرفته می شود مقداری. اما وقتی به پشت صحنه نگاه می کنید، خواهید دید که هیچ وجود ندارد جادو درگیر است، و در واقع یک ویژگی بسیار مفید است که می تواند کمک کند پس عبارت with برای چیست؟ این به ساده‌سازی برخی از الگوهای مدیریت منابع رایج با انتزاع کردن عملکرد آنها کمک می‌کند و اجازه می دهد آنها را فاکتور گرفته و مجدداً مورد استفاده قرار دهند. یک راه خوب برای مشاهده استفاده موثر از این ویژگی، نگاه کردن به مثال‌های موجود در کتابخانه استاندارد پایتون است. تابع open() داخلی یک مورد استفاده عالی را در اختیار ما قرار می دهد:with open(‘hello.txt’, ‘w’) as f: شما کدهای پایتون را تمیزتر و خواناتر می نویسید. f.write(‘hello, world!’)باز کردن فایل ها با استفاده از دستور with به طور کلی توصیه می شود زیرا تضمین می کند که توصیف کننده های فایل باز به طور خودکار پس از اجرای برنامه از متن دستور with خارج می شود. به طور کلی، نمونه کد بالا به چیزی شبیه به این ترجمه می شود:try: f = open(‘hello.txt’, ‘w’) f.write(‘hello, world’) f.close()از قبل می توانید بگویید که این موضوع کمی پرمخاطب تر است. توجه داشته باشید که عبارت try… در نهایت اهمیت دارد. کافی نخواهد بود finally: فقط چیزی شبیه به این بنویس :f.write(‘hello, world’) f.close()اگر در طول فراخوانی f.write() استثنا وجود داشته باشد، این پیاده سازی بسته شدن فایل را تضمین نمی کند – و بنابراین برنامه ما ممکن است نشت یک توصیفگر فایل به همین دلیل است که عبارت with بسیار مفید است. آی تی به دست آوردن و آزادسازی صحیح منابع را آسان می کند. f = open(‘hello.txt’, ‘w’) مثال خوب دیگری که در آن از دستور with به طور موثر استفاده می شود کتابخانه استاندارد پایتون کلاس threading.Lock است:# Harmful: some_lock = threading.Lock() some_lock.acquire() # Do something… try: finally: # Better: some_lock.release() with some_lock: # Do something…در هر دو مورد، استفاده از دستور with به شما اجازه می دهد تا بیشتر انتزاع کنید سعی کنید … در نهایت هر بار بیانیه، با استفاده از دستور with طول می کشد مراقبت از آن برای ما منطق مدیریت منابع به جای اینکه مجبور باشید صریح بنویسید دستور with می تواند کدی بسازد که با منابع سیستم سروکار دارد خواندنی تر همچنین به شما کمک می کند تا از اشکالات یا نشت جلوگیری کنید، زیرا فراموش کردن پاکسازی یا انتشار یک منبع در زمانی که وجود دارد، عملا غیرممکن است. دیگر مورد نیاز نیست در حال حاضر، هیچ چیز خاص یا جادویی در مورد open() تابع یا وجود ندارد کلاس threading.Lock و این واقعیت که آنها را می توان با a استفاده کرد با بیانیه شما می توانید همان عملکرد را در خود ارائه دهید کلاس ها و توابع با پیاده سازی به اصطلاح مدیران زمینه. 6 پشتیبانی با در اشیاء خودتان مدیر زمینه چیست؟ این یک «پروتکل» (یا رابط) ساده است که اساسا، تنها کاری که باید انجام دهید این است که متدهای enter و exit را اضافه کنید به یک شی اگر می خواهید به عنوان مدیر زمینه عمل کند. پایتون این دو روش را در زمان های مناسب در منبع فراخوانی می کند.برای پشتیبانی از عبارت with باید شی شما دنبال شود.

علیرضا بابامرادی

راه آسان‌تری برای ارتباط با کاربران‌مان پیدا کرده‌ایم :) عضویت در کانال

مطالب زیر را حتما بخوانید:

قوانین ارسال دیدگاه در سایت

  • چنانچه دیدگاهی توهین آمیز باشد تایید نخواهد شد.
  • چنانچه دیدگاه شما جنبه ی تبلیغاتی داشته باشد تایید نخواهد شد.
  • چنانچه از لینک سایر وبسایت ها و یا وبسایت خود در دیدگاه استفاده کرده باشید تایید نخواهد شد.
  • چنانچه در دیدگاه خود از شماره تماس، ایمیل و آیدی تلگرام استفاده کرده باشید تایید نخواهد شد.
  • چنانچه دیدگاهی بی ارتباط با موضوع آموزش مطرح شود تایید نخواهد شد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

لینک کوتاه:
0