Что такое основная функция Python?
ОСНОВНАЯ ФУНКЦИЯ PYTHON — это отправная точка любой программы. Когда программа запускается, интерпретатор python запускает код последовательно. Основная функция выполняется только тогда, когда она запускается как программа Python. Он не будет запускать основную функцию, если он импортирован как модуль.
Чтобы понять это, рассмотрим следующий код
def main(): print ("hello world!") print ("Guru99")
Здесь мы получили два фрагмента печати — один определяется в основной функции «Hello World», а другой — «Guru99». Когда вы запускаете функцию def main ():
- Только «Guru99» распечатывает
- а не код «Hello World».
Это потому, что мы не объявили функцию вызова «if__name __ ==» __main__ «.
Важно, чтобы после определения основной функции вы вызывали код с помощью if__name __ == «__main__», а затем запускали код, только тогда вы получите вывод «hello world!» в консоли программирования. Рассмотрим следующий код
def main(): print("hello world!") if __name__ == "__main__": main() print("Guru99")
Гуру99 печатается в этом случае.
Вот объяснение,
- Когда интерпретатор Python читает исходный файл, он выполняет весь найденный в нем код.
- Когда Python запускает «исходный файл» в качестве основной программы, он устанавливает для специальной переменной (__name__) значение («__main__»).
- Когда вы выполняете основную функцию, она читает инструкцию «if» и проверяет, равно ли __name__ __main__.
- В Python «if__name __ ==« __main__ » позволяет запускать файлы Python как многократно используемые модули или как отдельные программы.
Переменная __name__ и модуль Python
Чтобы понять важность переменной __name__, рассмотрите следующий код:
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 использует основную функцию двумя способами
прямой запуск:
- __NAME __ = __ main__
- if Statement == True, и скрипт в _main_ будет выполнен
импортировать как модуль
- __name __ = имя файла модуля
- если оператор == 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")
Примечание. Убедитесь, что после определения функции main вы оставили некоторый отступ и не объявляете код прямо под функцией def main (): в противном случае он выдаст ошибку отступа.