![不带类的属性方法[重复],第1张 不带类的属性方法[重复],第1张](/aiimages/%E4%B8%8D%E5%B8%A6%E7%B1%BB%E7%9A%84%E5%B1%9E%E6%80%A7%E6%96%B9%E6%B3%95%5B%E9%87%8D%E5%A4%8D%5D.png)
@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条)