靜態/類變量我有一個類,如:__getattr__在蟒蛇
class MyClass:
Foo = 1
Bar = 2
每當MyClass.Foo
或MyClass.Bar
被調用時,我需要的是返回的值之前調用自定義方法。在Python中可能嗎?我知道這是可能的,如果我創建一個類的實例,我可以定義我自己的__getattr__
方法。但是我的Scneario涉及到使用這個類而不創建它的任何實例。
另外我需要調用str(MyClass.Foo)
時調用的自定義__str__
方法。 Python是否提供這樣的選項?
Thanks Ignacio and Matt。我想現在我明白了類(不是實例)的創建是如何工作的,而且我認爲所需的__str__行爲很難實現。我認爲元類應該足夠滿足我的要求。 :) – Tuxdude 2010-07-01 06:49:03
如果你總是得到'AttributeError'檢查出其他的答案,其中有python3的語法(這個例子似乎是python2) – Chris 2017-06-21 09:03:26