Как получить доступ к переменным области видимости без себя?
============================================================

Итак, у меня есть класс, который я использую в качестве локального пространства имен. У меня есть некоторые статические функции в классе, но они не могут получить доступ к переменным области видимости класса. Почему это?

есть идеи?

 есть два способа сделать это, первый - использовать метод класса:

Что я бы сказал, это лучшее решение.

Второй доступ к имени:

Обратите внимание, что в общем случае использование класса в качестве пространства имен - не лучший способ сделать это, просто используйте вместо этого модуль с функциями верхнего уровня, так как это действует больше, чем вы хотите.

Причина отсутствия такой ограниченной области видимости в основном из-за динамической природы Python, как она будет работать, когда вы вставляете функцию в класс? К этому условию должно быть добавлено специальное поведение, что было бы крайне неудобно для реализации и потенциально хрупко. Это также помогает сделать вещи явными, а не неявными - ясно, что такое переменная класса, а не локальная переменная.