logo

Основна функція Python

Основна функція схожа на точку входу програми. Однак інтерпретатор Python запускає код прямо з першого рядка. Виконання коду починається з початкового рядка і йде рядок за рядком. Неважливо, де присутня основна функція, присутня вона чи ні.

Оскільки немаєmain()>у Python, коли команда на виконання програми Python надається інтерпретатору, код, який має рівень відступу 0, має бути виконано. Однак перед тим, як це зробити, він визначить кілька спеціальних змінних.__name__>є однією з таких спеціальних змінних. Якщо вихідний файл виконується як основна програма, інтерпретатор встановлює__name__>змінна мати значення__main__>. Якщо цей файл імпортується з іншого модуля,__name__>буде встановлено назву модуля.
__name__>це вбудована змінна, яка оцінює назву поточного модуля.



приклад:








# Python program to demonstrate> # main() function> > > print>(>'Hello'>)> > # Defining main function> def> main():> >print>(>'hey there'>)> > > # Using the special variable> # __name__> if> __name__>=>=>'__main__'>:> >main()>

>

>

циклічний алгоритм планування

Вихід:

 Hello hey there>

Коли вищевказана програма виконується, інтерпретатор оголошує початкове значення name як main. Коли інтерпретатор досягає оператора if, він перевіряє значення name, і коли значення if є істинним, він запускає основну функцію, інакше основна функція не виконується.

Основна функція як модуль

Тепер, коли ми імпортуємо сценарій Python як модуль,__name__>змінна отримує таке саме значення, як і назва імпортованого сценарію python.

приклад: Давайте розглянемо, що є два файли (File1.py і File2.py). File1 виглядає наступним чином.




# File1.py> > print>(>'File1 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File1 is being run directly'>)> else>:> >print>(>'File1 is being imported'>)>

що означає google
>

>

Вихід:

 File1 __name__ = __main__ File1 is being run directly>

Тепер, коли File1.py імпортується у File2.py, значення __name__ змінюється.

завантажити відео з youtube на vlc




# File2.py> > import> File1> > print>(>'File2 __name__ = %s'> %>__name__)> > if> __name__>=>=> '__main__'>:> >print>(>'File2 is being run directly'>)> else>:> >print>(>'File2 is being imported'>)>

>

>

Вихід:

 File1 __name__ = File1 File1 is being imported File2 __name__ = __main__ File2 is being run directly>

Як видно вище, коли File1.py запускається безпосередньо, інтерпретатор встановлює__name__>змінна як__main__>і коли він запускається через File2.py шляхом імпорту, змінна __name__ встановлюється як ім’я сценарію python, тобто File1. Таким чином, можна сказати, що якщо __name__ == __main__ є частиною програми, яка запускається, коли сценарій запускається з командного рядка за допомогою команди на зразок Python File1.py.