静态/类变量我有一个类,如:__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