使方法像Python类外的属性一样工作

使方法像Python类外的属性一样工作,python,python-3.x,class,properties,Python,Python 3.x,Class,Properties,在类上,可以创建属性: class foo(): _bar = None @property def bar(self): return self._bar #---------------------------------------------------------------------- @bar.setter def (self, value): """""" self._bar = va

在类上,可以创建属性:

class foo():
    _bar = None
    @property
    def bar(self):
       return self._bar
    #----------------------------------------------------------------------
    @bar.setter
    def (self, value):
        """"""
        self._bar = value
这真是太棒了,但我想知道是否有可能将
@property
setter
扩展到类设置之外

因此,在一个模块中,我可以:

_bar = None
@property
def bar():
   return _bar
#----------------------------------------------------------------------
@bar.setter
def (self, value):
  _bar = value
这样,我就可以在模块级别上使用此操作栏:

>>> print(mymodule.bar)
None
>>> mymodule.bar = "Fish"
>>> print(mymodule.bar)
Fish

可能是你不能复制的。属性只能与类组合使用。也是相关的。这是今天最好的问题,\u bar=None.-)