פייתון/פייתון גרסה 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__'