Python Пример за основна функция и метод: Разбиране на def Main()
Какво е Python Основна функция?
Python Главна функция е отправна точка на всяка програма. Когато програмата се изпълнява, интерпретаторът на Python изпълнява кода последователно. Основната функция се изпълнява само когато се изпълнява като a Python програма. Той няма да изпълнява основната функция, ако е импортиран като модул.
В какво се намира функцията def main(). Python? За да разберете това, разгледайте следния примерен код
def main() Пример 1
def main(): print ("Hello World!") print ("Guru99")
Тук имаме две разпечатки – едната е дефинирана в основната функция, която е „Здравей свят!“ а другият е независим, който е „Guru99“. Когато стартирате функцията def main ():
- Отпечатва се само „Guru99“.
- а не кода „Здравей свят!“
Това е така, защото не сме декларирали обаждането функция “if__name__== “__main__”.
Важно е, след като дефинирате основната функция, да извикате кода чрез if__name__== “__main__” и след това да изпълните кода, само тогава ще получите изхода “hello world!” в конзолата за програмиране. Разгледайте следния код
def main() Пример 2
def main(): print("Hello World!") if __name__ == "__main__": main() print("Guru99")
Guru99 е отпечатан в този случай.
Ето и обяснението,
- Кога Python интерпретаторът чете изходен файл, той ще изпълни целия код, намерен в него.
- Кога Python изпълнява „изходния файл“ като основна програма, задава специалната променлива (__name__) да има стойност (“__main__”).
- Когато изпълните основната функция в python, тя ще прочете израза „if“ и ще провери дали __name__ е равно на __main__.
- In 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 MainFunction print("done")
Ето обяснението на кода:
като C, Python използва == за сравнение, докато = за присвояване. Python интерпретаторът използва основната функция по два начина
директно изпълнение:
- __име__=__основен__
- if statement == True и скриптът в _main_ще бъде изпълнен
импортиране като модул
- __name__= име на файл на модула
- if statement == false и скриптът в __main__ няма да бъде изпълнен
Когато кодът се изпълни, той ще провери за името на модула с „if“. Този механизъм гарантира, че основната функция се изпълнява само като директно изпълнение, а не когато се импортира като модул.
Горните примери са Python 3 кода, ако искате да използвате Python 2, моля, разгледайте следния код
def main(): print "Hello World!" if __name__== "__main__": main() print "Guru99"
In Python 3, не е необходимо да използвате if__name. Следният код също работи
def main(): print("Hello World!") main() print("Guru99")
Забележка: Уверете се, че след като дефинирате основната функция, оставяте някакъв отстъп и не декларирате кода точно под функцията def main(): в противен случай ще даде грешка при отстъпа.