使用python屬性,我可以做到obj.y 調(diào)用一個(gè)函數(shù),而不只是返回一個(gè)值。有沒有辦法用模塊做到這一點(diǎn)?我有一個(gè)想要的情況module.y 調(diào)用一個(gè)函數(shù),而不僅僅是返回存儲(chǔ)在那里的值。
3 回答

明月笑刀無情
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊
只有新式類的實(shí)例才能具有屬性。通過將其存儲(chǔ)在中,可以使Python相信這樣的實(shí)例是模塊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()
添加回答
舉報(bào)
0/150
提交
取消