if__name__== “__main__ چی هست؟

پایتون

“__ if __name__ == “__mainچیست؟

 

برای فهم این مطلب به کد زیر توجه کنید:

def main():
     print ("hello world!")
print ("Sufra")
>>>
Sufra
>>>

همانطور که بعد از اجرای کد مشاهده میکنید به جای چاپ هر دو مقدار print فقط sufra چاپ شده است. به این دلیل است که تابع if__name __ ==” __main__  را  فراخوانی نکردیم.

↵ هر ماژول در پایتون ویژگی خاصی  به نام __name__  دارد. وقتی ماژول به عنوان برنامه اصلی اجرا میشود، مقدار ویژگی __name__ در __main__  قرار میگیرد . در غیر این صورت مقدار __name__ حاوی نام ماژول است.

+ وقتی مفسر پایتون کدهای فایل را میخونه تمام کدها را پیدا و اجرا میکنه.

+ وقتی پایتون تمام کد ها را به عنوان برنامه اصلی اجرا میکنه ، متغیر خاص (__name__) را برای مقدار (“__main__”) تنظیم می کند.

+ وقتی تابع اجرا میشود با خواندن عبارت if بررسی میکنه که آیا مقدار __name__ برابر __main__ هست یا نه .
+ + در پایتون، if__name __ ==” __main__  به شما اجازه میدهد هر فایل پایتونی را به عنوان ماژول های قابل استفاده مجدد یا برنامه های مستقل اجرا کنید.

 

مانند C، پایتون از == برای مقایسه و از = برای تخصیص استفاده میکند. مترجم پایتون با  دو روش اصلی از تابع استفاده می کند:

 __name__= ‘نام ماژول ‘

if statement==false

کد بالا میگه اگر __name__ برابر نام ماژول بود عبارت شرطی ما مقدار false میگیره و اسکریپت داخل _main_   اجرا نمیشود.

t1

 
کد زیر میگه اگر __name__ برابر _main_ بود،  عبارت شرطی ما مقدار true میگیره و اسکریپت داخل _main_   اجرا میشود.
__name__=__main__

if statement == True

 

 

t2
 
 
 
 
 

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

مهارت ها: html,css C#, sql,python

نوشته های مرتبط

نظری بگذارید

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