Рубрики
Без рубрики

Python Global в одной строке

Чтобы обновить глобальную переменную в одной строке Python, извлеките глобальную переменную функцию с функцией Globals () и доступа к переменной, передавая имя переменной как строковую клавишу, такую как глобалы () [‘variable’]. Затем перезапишите глобальную переменную, используя равный символ, например, для перезаписания переменной с … Python Global в одной строке Подробнее »

Автор оригинала: Chris.

Чтобы обновить глобальную переменную в одной строке Python, извлеките глобальную переменную Словарь с глобал () Функция и доступа к переменной, передавая имя переменной как строковый ключ, такой как глобал () ['variable'] Отказ Затем перезапишите глобальную переменную, используя равный символ, например, в глобал () ['variable'] Перезаписать переменную со значением 42 Отказ

Давайте погрузимся в эту критическую проблему.

Проблема : Общий подход к обновлению глобальной переменной принимает две линии в Внутренняя область (В нашем примере функция Обновление () ).

a = 42

def update():
  global a
  a = 21

update()
print(a)
# 21

Это действительно необходимо? Разве вы не можете обновить глобальную переменную А только в Одна линия кода ?

Вы можете захотеть искать что-то вроде этого:

# WRONG:
global a = 21

Но это неверный синтаксис в Python. Как обновить глобальную переменную в Одна линия ?

Давайте погрузимся в несколько методов для достижения этого. Во-первых, попробуйте их сами в нашей интерактивной Python Shell:

Упражнение : Делайте все четыре способа обновлять глобальную переменную?

Метод 1: полуконный

def update_1():
    global a; a = 21

Semicolon позволяет писать несколько выражений Python в одну строку и выполнять их последовательностью.

Связанная статья: Как выполнить несколько строк Python в одну строку?

Способ 2: sys.modules [__ name__]

# Method 2
import sys
this = sys.modules[__name__]
this.a = 42

def update_2():
  this.a = 21

Код проходит через следующие шаги:

  • Импорт sys библиотека.
  • Назначьте модуль, в котором вы запускаете этот код к переменной это Отказ
  • Доступ к глобальной переменной А через точечную обозначение это Отказ

Делая это, вы работаете с Квалифицированные Имена переменной ( Голые имена ), а не неявный Переменные имена. Это уменьшает вероятность ошибок и является чистым способом решить эту проблему. Таким образом, вы можете избежать использования глобальный Ключевое слово вообще, которое может улучшить читаемость вашего кода.

Способ 3: глобал () [var]

def update_3():
    globals()['a'] = 21

Код сначала обращается к всем глобальным переменным, используя глобал () Функция, которая возвращает имена сопоставления словаря к объектам. Вы получаете доступ к значению, связанным с ключом «А» Отказ Возвращаемое значение – это объект, к которому глобальная переменная А точки.

Метод 4: полуконный

def update_4():
    globals().update(a=21)

Этот код очень похож на предыдущий код в Метод 3 Отказ Вы используете словарь Обновление () Вместо метода индексации хоть и перезаписать значение глобальной переменной А Отказ

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

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

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.