Основная функция Python
Основная функция Python выполняется только тогда, когда она выполняется как программа Python. Как вы знаете, мы также можем импортировать программу Python как модуль, в этом случае основной метод Python не должен выполняться.
Основная функция Python
Основная функция — точка входа любой программы. Но интерпретатор Python выполняет код исходного файла последовательно и не вызывает никаких методов, если они не являются частью кода. Но если это непосредственно часть кода, то она будет выполняться при импорте файла как модуля. Вот почему существует специальный метод определения основного метода в программе на Python, чтобы он выполнялся только тогда, когда программа запускается напрямую, а не выполнялся при импорте в виде модуля. Давайте посмотрим, как определить основную функцию Python в простой программе. python_main_function.py
print("Hello")
print("__name__ value: ", __name__)
def main():
print("python main function")
if __name__ == '__main__':
main()
-
When a python program is executed, python interpreter starts executing code inside it. It also sets few implicit variable values, one of them is
__name__
whose value is set as__main__
. -
For python main function, we have to define a function and then use
if __name__ == '__main__'
condition to execute this function. -
If the python source file is imported as module, python interpreter sets the
__name__
value to module name, so the if condition will return false and main method will not be executed. -
Python provides us flexibility to keep any name for main method, however it’s best practice to name it as main() method. Below code is perfectly fine, however not recommended.
def main1(): print("python main function") if __name__ == '__main__': main1()
Основная функция Python как модуль
Теперь давайте используем вышеуказанный исходный файл Python в качестве модуля и импортируем его в другую программу. python_import.py
import python_main_function
print("Done")
Hello
__name__ value: python_main_function
Done
Обратите внимание, что первые две строки печатаются из исходного файла python_main_function.py
. Обратите внимание, что значение __name__
отличается, поэтому основной метод не выполняется. Обратите внимание, что операторы программы Python выполняются построчно, поэтому важно сначала определить метод main() перед условием if для выполнения основного метода. В противном случае вы получите сообщение об ошибке NameError: имя main не определено
. Это все, что касается основной функции Python. Ссылка: Документация по Python