@properties是指在类中定义的 实例 属性。例如:
class A(object): @property def a(self): return 2b = A()b.a=> 2
据我了解,您正在尝试定义模块属性(或“全局”属性)。没有简单/干净的方法可以做到这一点。请参阅此相关问题。
编辑:您还可以定义一个
classproperty,使您的属性更具全局性(不需要实例)。
classproperty不是内置的,但易于定义。这是定义它的一种方法:
class classproperty(object): def __init__(self, f): self.f = classmethod(f) def __get__(self, *a): return self.f.__get__(*a)()
现在您可以执行以下 *** 作:
class A(object): @classproperty def a(self): return 2A.a=> 2
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)