Основна функция на Python & Пример за метод: Разберете __main

Съдържание:

Anonim

Какво представлява основната функция на Python?

Основната функция на Python е отправна точка на всяка програма. Когато програмата се изпълни, интерпретаторът на python стартира кода последователно. Основната функция се изпълнява само когато се изпълнява като програма на Python. Той няма да изпълнява основната функция, ако е импортиран като модул.

Каква е функцията def main () в Python? За да разберете това, помислете за следния примерен код

def main():print ("hello world!")print ("Guru99")

Тук имаме две части за печат - едната е дефинирана в рамките на основната функция, която е „Hello World“, а другата е независима, която е „Guru99“. Когато стартирате функцията def main ():

  • Разпечатва се само „Guru99“
  • а не кодът "Hello World."

Това е така, защото не декларирахме функцията за повикване "if__name __ ==" __main__ ".

Важно е след дефинирането на основната функция да извикате кода чрез if__name __ == "__main__" и след това да стартирате кода, само тогава ще получите изхода "здравей, свят!" в конзолата за програмиране. Обмислете следния код

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")

В този случай се отпечатва Guru99.

Ето обяснението,

  • Когато интерпретаторът на Python чете изходен файл, той ще изпълни целия код, намерен в него.
  • Когато Python стартира "изходния файл" като основна програма, той задава специалната променлива (__name__) да има стойност ("__main__").
  • Когато изпълнявате основната функция в python, тя ще прочете израза "if" и проверява дали __name__ е равно на __main__.
  • В Python "if__name __ ==" __main__ " ви позволява да стартирате файловете на Python или като модули за многократна употреба или като самостоятелни програми.

Променливата __name__ и модулът Python

За да разберете значението на променливата __name__ в метода на основната функция на Python, помислете за следния код:

def main():print("hello world!")if __name__ == "__main__":main()print("Guru99")print("Value in built variable name is: ",__name__)

Сега помислете, кодът се импортира като модул

import MainFunctionprint("done")

Ето обяснението на кода:

Подобно на C, Python използва == за сравнение, докато = за присвояване. Интерпретаторът на Python използва основната функция по два начина

директно изпълнение:

  • __name __ = __ main__
  • if statement == True, и скриптът в _main_will ще бъде изпълнен

импортиране като модул

  • __name __ = име на файл на модула
  • if statement == false и скриптът в __main__ няма да бъде изпълнен

Когато кодът се изпълни, той ще провери за името на модула с "ако." Този механизъм гарантира, че основната функция се изпълнява само като директно изпълнение, а не когато се импортира като модул.

Горните примери са кодове на Python 3, ако искате да използвате Python 2, моля, помислете за следния код

def main():print "Hello World!"if __name__== "__main__":main()print "Guru99"

В Python 3 не е нужно да използвате if__name. Следващият код също работи

def main():print("Hello World!")main()print("Guru99")

Забележка: Уверете се, че след дефинирането на основната функция, оставяте малко отстъп и не декларирате кода точно под функцията def main (): в противен случай това ще даде грешка в отстъп.