Python Приклад основної функції та методу: зрозуміти def Main()
Що таке Python Основна функція?
Python основна функція є відправною точкою будь-якої програми. Коли програма виконується, інтерпретатор python виконує код послідовно. Основна функція виконується лише тоді, коли вона запускається як a Python програма. Він не запускатиме основну функцію, якщо її імпортовано як модуль.
У чому полягає функція def main(). Python? Щоб зрозуміти це, розглянемо наступний приклад коду
def main() Приклад 1
def main(): print ("Hello World!") print ("Guru99")
Тут ми маємо дві частини друку – одну визначено в основній функції, тобто «Hello World!» а інший незалежний, який називається «Guru99». Коли ви запускаєте функцію def main ():
- Друкується лише «Guru99».
- а не код «Hello World!»
Це тому, що ми не оголошували виклик функція “if__name__== “__main__”.
Важливо, щоб після визначення функції 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__»).
- Коли ви виконуєте функцію 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 інтерпретатор використовує функцію main двома способами
прямий запуск:
- __ім'я__=__основний__
- if statement == True, і сценарій у _main_буде виконано
імпортувати як модуль
- __name__= назва файлу модуля
- if statement == false, і сценарій у __main__ не буде виконано
Коли код виконується, він перевіряє назву модуля за допомогою «якщо». Цей механізм гарантує, що основна функція виконується лише як прямий запуск, а не під час імпорту як модуля.
Наведені вище приклади 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")
Примітка: Переконайтеся, що після визначення функції main ви залишили деякий відступ і не оголошували код безпосередньо під функцією def main(): інакше це призведе до помилки відступу.