使用python属性,我可以做到obj.y 调用一个函数,而不只是返回一个值。有没有办法用模块做到这一点?我有一个想要的情况module.y 调用一个函数,而不仅仅是返回存储在那里的值。
3 回答
明月笑刀无情
TA贡献1828条经验 获得超4个赞
只有新式类的实例才能具有属性。通过将其存储在中,可以使Python相信这样的实例是模块sys.modules[thename] = theinstance。因此,例如,您的m.py模块文件可能是:
import sys
class _M(object):
def __init__(self):
self.c = 0
def afunction(self):
self.c += 1
return self.c
y = property(afunction)
sys.modules[__name__] = _M()
添加回答
举报
0/150
提交
取消