我想了解一個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__
之間的關係嗎?
雖然這並不直接回答你的問題,但我建議你閱讀Ned Batchelders的[關於Python名稱和值的事實和神話](http://nedbatchelder.com/text/names.html)。我認爲在閱讀之後你將能夠回答你自己的問題。 –
謝謝大家,非常有幫助的信息。 – ACV