nameوmain

__name__ و __main__ در پایتون: مفاهیم کلیدی برای توسعه‌دهندگان

در زبان برنامه‌نویسی پایتون، متغیرهای ویژه __name__ و __main__ نقش اساسی در مدیریت اجرای کدها ایفا می‌کنند. این مفاهیم به ویژه هنگام کار با ماژول‌ها و اسکریپت‌های چندگانه اهمیت پیدا می‌کنند.

نکته کلیدی: مقدار __name__ زمانی که یک فایل مستقیماً اجرا شود برابر با "__main__" است و زمانی که به عنوان ماژول ایمپورت شود، برابر با نام ماژول خواهد بود.

کاربردهای عملی __name__ و __main__

این ساختار معمولاً در قالب زیر استفاده می‌شود:

if __name__ == "__main__":
    # کدهایی که فقط هنگام اجرای مستقیم فایل اجرا می‌شوند
    print("این فایل مستقیماً اجرا شده است")

این تکنیک مزایای متعددی دارد:

  • اجازه می‌دهد یک فایل هم به عنوان ماژول و هم به عنوان اسکریپت مستقل عمل کند
  • از اجرای ناخواسته کدها هنگام ایمپورت جلوگیری می‌کند
  • امکان تست واحدهای کد را بدون تأثیر بر ماژول اصلی فراهم می‌کند
حالت اجرا مقدار __name__
اجرای مستقیم فایل "__main__"
ایمپورت به عنوان ماژول نام ماژول (بدون .py)

مثال کاربردی

فرض کنید دو فایل داریم:

  1. module.py - شامل توابع کاربردی
  2. main.py - فایل اصلی برنامه

در فایل module.py می‌توانیم کدی مانند زیر داشته باشیم:

def calculate(x, y):
    return x * y + 10

if __name__ == "__main__":
    # این بخش فقط هنگام اجرای مستقیم module.py اجرا می‌شود
    print("نتیجه تست:", calculate(5, 3))

این ساختار به شما امکان می‌دهد هم از توابع در فایل‌های دیگر استفاده کنید و هم هنگام نیاز، فایل را مستقیماً برای تست اجرا نمایید.


برای یادگیری بیشتر درباره ماژول‌ها در پایتون، می‌توانید اینجا را انتخاب کنید. این منبع به شما کمک می‌کند مفاهیم پیشرفته‌تری درباره سازماندهی کدهای پایتون بیاموزید.

در نهایت، درک صحیح __name__ و __main__ به شما کمک می‌کند برنامه‌های پایتون حرفه‌ای‌تری بنویسید که هم قابلیت استفاده مجدد دارند و هم به راحتی قابل تست هستند.