Python Основная функция и метод: Понимание функции `def Main()`
⚡ Умное резюме
Python Функция main обозначает точку, с которой интерпретатор начинает выполнение программы. Определенная с помощью def main() и сопровождаемая условием if __name__ == “__main__”, она отделяет многократно используемый код модуля от выполнения автономного скрипта.

Что такое Python Основная функция?
Python основная функция является отправной точкой любой программы. Когда программа запускается, Python Интерпретатор выполняет код последовательно. Основная функция выполняется только тогда, когда она запускается как интерпретатор. Python Программа. Если она импортирована как модуль, основная функция выполняться не будет.
Что такое функция def main() в PythonЧтобы это понять, рассмотрим следующий пример кода, который является частью ядра. Python Программирование основы:
def main() Пример 1
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() Пример 2
def main():
print("Hello World!")
if __name__ == "__main__":
main()
print("Guru99")
GuruВ данном случае напечатано число 99.
Вот объяснение,
- После появления Python интерпретатор читает исходный файл, он выполнит весь найденный в нем код.
- После появления Python запускает «исходный файл» в качестве основной программы, он присваивает специальной переменной (__name__) значение («__main__»).
- Когда вы выполняете основную функцию в Python, она затем читает оператор «if» и проверяет, равно ли __name__ __main__.
- In Python «if__name__== «__main__» позволяет вам запустить Python файлы либо как повторно используемые модули или автономные программы.
Зачем использовать функцию main()? Python?
Python Использование конструкции `def main()` не обязывает вас писать главную функцию, однако опытные разработчики используют её практически в каждом нетривиальном скрипте. Шаблон `def main()` упорядочивает код в файле и делает его безопасным для повторного использования. Вот основные причины его использования:
- Четкая точка входа: Функция main() точно указывает читателю, где начинается программа, поэтому логику легко понять.
- Многоразовые модули: Code Функция, защищенная условием if __name__ == “__main__”, выполняется только при непосредственном запуске, поэтому другие файлы могут импортировать ваши функции без побочных эффектов.
- Локальная область видимости: Переменные, созданные внутри функции main(), остаются локальными, что позволяет избежать случайных конфликтов с глобальными именами в других частях модуля.
- Упрощенное тестирование: Выделение логики в функции main() позволяет набору тестов вызывать её напрямую и проверять результат.
- Общая конвенция: Функция main() — это широко признанный сигнал точки входа в программу, который повышает удобство сопровождения кода в разных командах.
Короче говоря, функция 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")
Вот объяснение кода: Как С, Python использует == для сравнения, а = для присваивания. Python интерпретатор использует функцию main двумя способами
прямой ход:
- __name__=__main__
- if оператор == True, и скрипт в _main_ будет выполнен
импортировать как модуль
- __name__= имя файла модуля
- if оператор == 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(): в противном случае будет выдана ошибка отступа.
Как передавать аргументы командной строки в Python основная функция
Функция main() — это естественное место для обработки входных данных, которые пользователь передает через командную строку. Python Эти значения сохраняются в списке sys.argv, который предоставляет стандартный модуль sys. Первый элемент, sys.argv[0], — это имя скрипта, а каждое значение после него — это аргумент, предоставленный пользователем.
В следующем примере показано, как считывать и выводить аргументы командной строки изнутри функции main():
import sys def main(): print("Script name:", sys.argv[0]) print("Arguments passed:", sys.argv[1:]) if __name__ == "__main__": main()
Если вы сохраните файл как script.py и запустите его python script.py alpha betaПрограмма выводит имя скрипта и список ['alpha', 'beta']. Поскольку значения поступают внутрь функции main(), логика остается организованной и ее легко тестировать.
Вот несколько практических советов по работе с вводом из командной строки:
- Удалите название скрипта: Используйте sys.argv[1:], чтобы прочитать только те аргументы, которые ввел пользователь.
- Используйте argparse для получения действительно полезных инструментов: Встроенный модуль argparse анализирует флаги, параметры и справочный текст гораздо безопаснее, чем чтение sys.argv вручную.
- Возвращает код завершения: Оберните вызов в sys.exit(main()), чтобы возвращаемое значение main() стало кодом завершения процесса.
- Проверьте заранее: Перед запуском остальной части программы проверьте количество и тип аргументов в начале функции main().
Этот подход превращает простой скрипт в надежный инструмент командной строки, сохраняя при этом...ping Каждый шаг выполняется внутри одной, поддающейся тестированию функции main().
Python Функция main() в сравнении с другими языками программирования
Разработчики, пришедшие из языка C, C++ или Java Часто ожидается наличие обязательной функции main(). Python Работает по-другому, потому что это интерпретируемый язык, поэтому интерпретатор просто выполняет команду в файле от начала до конца. Функция main() в Python Таким образом, это скорее условность, чем правило.
- C, C++, C# и Java: Функция main() является обязательной точкой входа. Среда выполнения автоматически вызывает её, и в программе может быть только одна такая функция.
- Python: Функция main() не требуется. Выполнение начинается с первой строки файла, и def main() запускается только в том случае, если ваш код её вызывает.
- Охранник: Блок if __name__ == “__main__” выдает Python Цель аналогична функции main(), скомпилированной в библиотеку, заключающаяся в пометке кода, который должен выполняться только тогда, когда файл является основной программой.
Таким образом, в то время как в других языках программирования обязательно используется точка входа main(), Python Выбор остается за вами, обеспечивая ту же ясность за счет соглашений, а не правил компилятора.




