Вывод ответа #1864699622

-

Python

Обсуждаем данный язык программирования

dimy44


Репутация: 537
репутация: 537
| на сайте с 2006 года | последнее посещение: 21:42 26 май 2026
сообщений: 2540

Пост № 1864699622

Вне функции переменную объявлять global незачем, хотя в некоторых примерах так делают, но это бестолково. Внутри каждой функции, в таких случаях, нужно объявлять только тогда, когда присваиваешь ей значение. Если же переменная внутри функции юзается только для чтения, то объявлять не нужно, и так ясно, она ведь уже была создана, а вот в случае присваивания значения- другое дело, ведь внутри функции без особой инструкции создается локальная переменная, видимая лишь внутри этой функции, пусть даже с таким-же именем, как и глобальная в другом месте, но в разных пространствах имен.
-------------
добавлено в 09.23: вообще эти global многие ненавидят. Вот ты можешь создать пустой класс
class C: pass
pss = C() # инстанс
теперь можешь с ним работать:
pss.state = 1, переменная pss.state не нуждается в инструкции global.


ответ опубликован:
Рейтинг: 5
голосов: 2