Как осуществляется доступ к глобальной переменной, определенной в функции, за ее пределами?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как осуществляется доступ к глобальной переменной, определенной в функции, за ее пределами?

Сообщение Anonymous »

В моем файле есть такая структура функций:

Код: Выделить всё

def rec_count():
global var
if var == 5:
return
var += 1
rec_count()

def count():
global var
var = 0
rec_count()
print(var)
Когда я печатаю значение var, оно возвращает 5. Если я попытаюсь получить доступ к переменной var где-то в моем файле, она вернет исключение NameError. Я очень доволен таким поведением, поскольку именно этого я и пытаюсь достичь, но не могу этого понять, поскольку ожидал, что смогу получить доступ к этой переменной вне обеих функций. Я хочу избежать этого, чтобы избежать конфликтов с другими переменными с тем же именем.
Пожалуйста, помогите мне понять, почему к переменной var нельзя получить доступ вне этих функций, даже если она была определена как глобальный. В документации указано, что

Глобальный оператор — это объявление, которое применяется ко всему текущему блоку кода.
но я думаю, что в моем случае это объявлено в двух отдельных блоках кода.

Подробнее здесь: https://stackoverflow.com/questions/791 ... outside-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»