daryoush jamshidi (داریوش جمشیدی)
daryoush jamshidi (داریوش جمشیدی)
خواندن ۱ دقیقه·۲ سال پیش

if __name__ == '__main__' :

در پایتون if __name__ == "__main__": چیست؟


if __name__ == '__main__' :

وقتی ما یک فایل پایتون باز میکنیم و اجرا میکنیم پایتون آن فایل رو به شکل __main__ با تایپ استرینگ میشناسه و یک attribute (صفت) __name__ میده


ما وقتی __name __ را print بگیریم __main__ چاپ میشه

ما وقتی ماژول مینویسم در پایتون و آن رو در یک فایل دیگر امپورت میکنیم به صورت مستقیم در ان صورت کل کد های آن ماژول execute می شود و همه آن یعنی اجراء میشود

وقتی ما ماژولی را import میکنیم پایتون آن فایل رو به اسم خودش میشناسه یعنی ما دو تا فایل داریم به اسم person.py , man.py داریم و در فایل person.py فایل man.py را import میکنیم در این صورت فایل person.py را پایتون به اسم __main__ میشناسه و فایل man.py را به اسم man میشناسه


file :: man.py
file :: man.py


file :: person.py
file :: person.py


ما بعضی کد هایی داریم که میخواهیم فقط در زمانی اجراء شود که فقط ان فایل رو اجراء می کنیم اجرا شود چون وقتی ما یک فایلی رو import می کنیم ان فایل رو به اسم خودش میشناسه در آن فایل وقتی مینویسیم

if __name__ == '__main__ :

کد هایی که زیر if قرار میگیره اجراء نمی شود چون __name__ == __main__ مساوی نمی شود اسم خود فایل مساوی با __name__ میشود شرط if برقرار نمی شود چون مساوی __main__ گذاشتیم کد ها اجراء نمی شود فقط در زمانی این if برقرار می شود که ان فایل رو به صورت مستقیم run کنیم تا

__name__ == '__main__'

شود

file person and file man
file person and file man





name mainpythonnamemain
شاید از این پست‌ها خوشتان بیاید