Ключевое слово global
Изначально мы не можем изменять значение переменной в другой области видимости, но мы можем это сделать, переопределив область видимости на глобальную, с помощью ключевого слова
Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область и приводить к нежелательным ошибкам
#переменные #global
Изначально мы не можем изменять значение переменной в другой области видимости, но мы можем это сделать, переопределив область видимости на глобальную, с помощью ключевого слова
global
.Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область и приводить к нежелательным ошибкам
#переменные #global
Ключевое слово nonlocal
Похожее по функционалу на global, ключевое слово
Поведение
Основное различие с
#переменные #nonlocal
Похожее по функционалу на global, ключевое слово
nonlocal
позволяет обращаться к переменным из нелокальной области видимости.Поведение
nonlocal
заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.Основное различие с
global
в том, что с помощью nonlocal
нельзя получить переменные из глобальной области видимости.#переменные #nonlocal
👍2
Получаем список переменных
Функция
С помощью похожей функции
Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
Функция
locals()
возвращает словарь переменных из текущего пространства имён. Ключи словаря — названия переменных, а значения — это их значения.С помощью похожей функции
globals()
можно получить все переменные конкретного модуля в таком же виде.Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
👍3
Специальная переменная __name__
Когда интерпретатор Python читает файл, то сначала он устанавливает несколько специальных переменных (пример). Одной из таких переменных является
Если скрипт был запущен напрямую, то в переменную присваивается значение
Типичный пример использования такой переменной — создание точки входа в программу. Про это уже был ранее пост.
Вообще атрибут
#переменные
Когда интерпретатор Python читает файл, то сначала он устанавливает несколько специальных переменных (пример). Одной из таких переменных является
__name__
.Если скрипт был запущен напрямую, то в переменную присваивается значение
__main__
, в случае импорта — название модуля.Типичный пример использования такой переменной — создание точки входа в программу. Про это уже был ранее пост.
Вообще атрибут
__name__
по умолчанию также ставится всем классам и функциям.#переменные
Получаем атрибуты объекта
Функция
Проще говоря,
А если ничего не передать в аргументы, то функция вернет словарь локальных переменных, как и
#переменные
Функция
vars()
возвращает все атрибуты переданного параметра, в качестве которого может быть почти что угодно: модуль, класс, экземпляр и т. д.Проще говоря,
vars()
возвращает словарь, который хранится в атрибуте __dict__
у переданного объекта.А если ничего не передать в аргументы, то функция вернет словарь локальных переменных, как и
locals()
(про это был пост, кстати).#переменные
👍2
Ключевое слово global
Изначально мы не можем изменять значение переменной в другой области видимости, но мы можем это сделать, переопределив область видимости на глобальную, с помощью ключевого слова
Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область и приводить к нежелательным ошибкам
#переменные #global
Изначально мы не можем изменять значение переменной в другой области видимости, но мы можем это сделать, переопределив область видимости на глобальную, с помощью ключевого слова
global
.Мы даже можем определить новую глобальную переменную внутри функции, но не нужно этим злоупотреблять, т.к. это будет засорять глобальную область и приводить к нежелательным ошибкам
#переменные #global
👍20👎1
Ключевое слово nonlocal
Похожее по функционалу на global, ключевое слово
Поведение
Основное различие с
#переменные #nonlocal
Похожее по функционалу на global, ключевое слово
nonlocal
позволяет обращаться к переменным из нелокальной области видимости.Поведение
nonlocal
заключается в том, что интерпретатор ищет переменную в ближайшей области видимости.Основное различие с
global
в том, что с помощью nonlocal
нельзя получить переменные из глобальной области видимости.#переменные #nonlocal
👍7❤1👎1
Получаем список переменных
Функция
С помощью похожей функции
Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
Функция
locals()
возвращает словарь переменных из текущего пространства имён. Ключи словаря — названия переменных, а значения — это их значения.С помощью похожей функции
globals()
можно получить все переменные конкретного модуля в таком же виде.Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
👍40❤2👎1
Специальная переменная __name__
Когда интерпретатор Python читает файл, то сначала он устанавливает несколько специальных переменных (пример). Одной из таких переменных является
Если скрипт был запущен напрямую, то в переменную присваивается значение
Типичный пример использования такой переменной — создание точки входа в программу. Про это уже был ранее пост.
Вообще атрибут
#переменные
Когда интерпретатор Python читает файл, то сначала он устанавливает несколько специальных переменных (пример). Одной из таких переменных является
__name__
.Если скрипт был запущен напрямую, то в переменную присваивается значение
__main__
, в случае импорта — название модуля.Типичный пример использования такой переменной — создание точки входа в программу. Про это уже был ранее пост.
Вообще атрибут
__name__
по умолчанию также ставится всем классам и функциям.#переменные
👍31👎1
Получаем атрибуты объекта
Функция
Проще говоря,
А если ничего не передать в аргументы, то функция вернет словарь локальных переменных, как и
#переменные
Функция
vars()
возвращает все атрибуты переданного параметра, в качестве которого может быть почти что угодно: модуль, класс, экземпляр и т. д.Проще говоря,
vars()
возвращает словарь, который хранится в атрибуте __dict__
у переданного объекта.А если ничего не передать в аргументы, то функция вернет словарь локальных переменных, как и
locals()
(про это был пост, кстати).#переменные
👍20😱3👎1
Получаем список переменных
Функция
С помощью похожей функции
Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
Функция
locals()
возвращает словарь переменных из текущего пространства имён. Ключи словаря — названия переменных, а значения — это их значения.С помощью похожей функции
globals()
можно получить все переменные конкретного модуля в таком же виде.Еще обратите внимание на результат второй функции: там много разных переменных, которые мы явно не объявляли — про некоторые из них скоро расскажем.
#переменные
👍7