Основы Python Часть I

RedDeveloper
01.05.2023 13:12
Основы Python Часть I

Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?

if __name__ == '__main__':
    main()

Если вы задались этим вопросом, то вы попали в нужную статью.

Открыть Github Gist

Итак, давайте сначала разберемся с основами: перед запуском любой программы Python присваивает некоторые значения определенным переменным. Переменная '__name__' определяет имя скрипта, который выполняется в данный момент.

Если выполняемый скрипт/модуль является текущим, то переменной будет присвоено значение '__main__'.

Итак, нижеприведенный фрагмент кода при выполнении скрипта (basics.py) будет выполнять все, что написано в функции main.

#basics.py
def main():
    pass
if __name__ == '__main__':
    main()

Переменная '__name__' позволяет нам моделировать выполнение программы в зависимости от того, откуда она вызывается. Чтобы донести мою мысль до читателя, рассмотрим два приведенных ниже сценария, наш оригинальный basics.py и second.py

#basics.py
def main():
    print('Script basics.py is calling me')
if __name__ == '__main__':
    main()
else:
    print('Script second.py is calling me')
#second.py
import basics

Обратите внимание, что в файле second.py мы написали только одно утверждение import basics, что эквивалентно тому, что мы хотим запустить код, присутствующий в basics.py, через second.py.

Теперь давайте посмотрим, что получится, когда мы запустим basics.py

И мы получим следующий результат, когда запустим second.py

И мы получим следующий результат когда запустим secondpy

В заключение, '__name__' - это переменная, которой Python присваивает значение '__main__' во время выполнения текущего сценария.

Приведенный ниже код должен развеять все ваши сомнения относительно этой переменной.

#second.py
import basics
print(__name__)
print(basics.__name__)

Вывод:

Вывод

Надеюсь, статья была полезной для вас, удачного дня.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?

20.08.2023 18:21

Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2023-2024 годах? Или это полная лажа?".

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией

20.08.2023 17:46

В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox

19.08.2023 18:39

Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest

19.08.2023 17:22

В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️

18.08.2023 20:33

Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL

14.08.2023 14:49

Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.