<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Специальная переменная __name__ в Python. Часть 2

Специальная переменная __name__ в Python. Часть 2

В прошлой статье мы рассматривали работу специальной переменной __ name __.

В этой статье, мы узнаем, как использовать выражение if __ name __ == "__ main __", и для чего оно нужно.

В прошлый раз мы создали два файла mod_one.py и mod_two.py, и поместили в них проверку на значение, которое __ name __ получает в каждом из модулей. Также выяснили что переменная __ name __ для запускаемого файла/модуля всегда будет __ main __. Но переменная __ name __ для всех других импортируемых модулей будет установлена на имя их модуля.

Обычный способ использования __ name __ и __ main __ выглядит следующим образом:


if __name__ == "__main__":
    ....

Рассмотрим это на примерах. Для чего создайте файлы mod_one.py и mod_two.py со следующим кодом:



# mod_one:

# coding=utf-8
import mod_two

print("Значение __name__ для mod_one равно: {0}".format(__name__))

if __name__ == "__main__":
   print("Файл mod_one выполняется при непосредственном запуске")
else:
   print("Файл mod_one выполняется при импорте")

   
# mod_two:

# coding=utf-8
print("Значение __name__ для mod_two равно: {0}".format(__name__))

if __name__ == "__main__":
   print("Файл mod_two выполняется при непосредственном запуске")
else:
   print("Файл mod_two выполняется при импорте")

Запуская mod_one вы увидите, что программа распознала, какой из этих двух модулей является __ main__ и выполнила код в соответствии с нашими первыми операторами if else.

Результат должен выглядеть так:


Значение __name__ для mod_two равно: mod_two
Файл mod_two выполняется при импорте
Значение __name__ для mod_one равно: __main__
Файл mod_one выполняется при непосредственном запуске

Запустив файл mod_two напрямую, мы увидим что переменная __ name __, установлена в значении main:


# вывод:
Значение __name__ для mod_two равно: __main__
Файл mod_two выполняется при непосредственном запуске

Когда модуль mod_two, импортируется и запускается, его функции будут импортированы, а код верхнего уровня выполнен.

Чтобы увидеть этот процесс в действии, дополним код:


# mod_two теперь содержит функцию

# coding=utf-8
print("Значение __name__ для mod_two равно: {0}".format(__name__))

def method_three():
   print("Функция №3 выполняется")

if __name__ == "__main__":
   print("Файл mod_two выполняется при непосредственном запуске")
else:
   print("Файл mod_two выполняется при импорте")


   
# mod_one

# coding=utf-8
import mod_two

def method_one():
   print("Выполняется первая функция")

def method_two():
   print("Функция вторая выполняется")

print("Значение __name__ для mod_one равно: {0}".format(__name__))

if __name__ == "__main__":
   print("Файл mod_one выполняется при непосредственном запуске")
else:
   print("Файл mod_one выполняется при импорте")

Теперь функции загружены, но не запущены. И чтобы выполнить одну из функций, изменим часть кода после выражения if __ name __ == "__ main __" в файле mod_one на следующее:


# mod_one
.................
if __name__ == "__main__":
   print("Файл mod_one выполняется при непосредственном запуске")
   method_two()
else:
   print("Файл mod_one выполняется при импорте")

   
   
# вывод:
.....................
Функция №2 выполняется

Также можно запустить функции импортируемого модуля из файла mod_one. Для чего модифицируем его еще одной строкой:


if __name__ == "__main__":
   print("Файл mod_one выполняется при непосредственном запуске")
   method_two()
   # вызов функции из модуля mod_two
   mod_two.method_three()
else:
   print("Файл mod_one выполняется при импорте")


# вывод:
................
Функция №2 выполняется
Функция №3 выполняется

Теперь предположим что файл mod_two содержит множество функций, и мы хотим импортировать только одну. Для начала добавим в файл mod_two вторую функцию:


# coding=utf-8

................
def method_four():
   print("Функция №4 выполняется")

if __name__ == "__main__":
   print("Файл mod_two выполняется при непосредственном запуске")
else:
   print("Файл mod_two выполняется при импорте")

И для импорта конкретных функций из модуля используем блок from import в файле mod_one:



# coding=utf-8

# импорт функции
from mod_two import method_three

.......................

if __name__ == "__main__":
   print("Файл mod_one выполняется при непосредственном запуске")
   method_two()
   # вызов импортированной функции
   method_three()
else:
   print("Файл mod_one выполняется при импорте")

Таким образом можно предотвратить выполнение некоторого кода из импортируемого модуля, просто поместив его в блок if __ name __ == "__ main __":.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.