Я пытаюсь понять взаимосвязь между переменной, которой назначен объект класса Python, и атрибутом __name__
для этого объекта класса. Например:Имя переменной класса Python vs __name__
In [1]: class Foo(object):
...: pass
...:
In [2]: Foo.__name__ = 'Bar'
In [3]: Foo.__name__
Out[3]: 'Bar'
In [4]: Foo
Out[4]: __main__.Bar
In [5]: Bar
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-5-962d3beb4fd6> in <module>()
----> 1 Bar
NameError: name 'Bar' is not defined
Так что, похоже, как я изменил атрибут класса __name__
, но я не могу обратиться к нему с этим именем. Я знаю, что это немного общее, но может ли кто-нибудь объяснить связь между Foo
и Foo.__name__
?
Хотя это не отвечает на ваш вопрос напрямую, я предлагаю прочитать [Факты и мифы о именах и значениях Python] (http://nedbatchelder.com/text/names.html). Я думаю, вы сможете ответить на свой вопрос после прочтения. –
Спасибо всем, очень полезная информация. – ACV