פייתון/פייתון גרסה 3/פונקצית main

פונקצית main מגדירה לפיתון אילו הרצאות ופונקציות להריץ תחילה.

תבנית עריכה

def main():
    pass

if __name__ == "__main__":
    main() #run main

הפונקצית Main עריכה

ניצור שני קבצים באותה תיקיה.

הראשון עם השם "first_file עם הכיתוב:

print(__name__)

השני עם השם "second_file עם הכיתוב:

import first_file
print('hello')

נריץ את שתי התכניות. התכנית הראשונה הדפיסה:

__main__

מפני שהקובץ הנוכחי אותו אנו מרצים מזוהה על ידי פיתון כקובץ ה-main, הקובץ הראשון שפיתון מריצה.

הקובץ השני ידפיס:

first_file
hello

כי הוא קובץ שמייבא את קובץ ה-"main" ולכן מריץ תחילה את הקובץ הראשון, first_file ואחר כך את יתר הפקודות.

הרצה יחידה של Main עריכה

אם נרצה שפיתון תריץ תכנית מסוימת ראשונה, אך לא נרצה כי תריץ מחדש, בקובץ המיבא את אותה תכנית, שוב רק מפני שהפנו אל קובץ זה, נוסיף את הפקודה:

if __name__ == "__main__":
    main()

כלומר רק במידה והשם של הקובץ הנוכחי שווה הוא main תריץ את main, אחרת, הרץ את הקובץ.


נעדכן את התכנית:

הראשון עם השם "first_file בכיתוב:

def main():
    print(__name__)

if __name__ == "__main__":
    main() #run main

השני עם השם "second_file נותיר ללא שינוי.

הפעם כשנקרא אל הפונקציות נקבל אותה תוצאה לקובץ הראשון:

__main__

עבור הקובץ השני:

hello

ראה גם עריכה

  1. Python Main Function with Examples: Understand __main__
  2. Python Tutorial: if __name__ == '__main__'