Python Пример за основна функция и метод: Разбиране на def Main()

Какво е Python Основна функция?

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

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

def main() Пример 1

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

Python Main Function

Тук имаме две разпечатки – едната е дефинирана в основната функция, която е „Здравей свят!“ а другият е независим, който е „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 Main Function

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

  • Кога 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__)

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

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

import MainFunction

print("done")

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

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


като 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(): в противен случай ще даде грешка при отстъпа.