关于Python的一点问题,为什么设置参数后,self.s始终不变?该怎么处理??新手求助

>>> class pro():
def __init__(self):
'''初始化,步长,以及改变'''
self.l=0
self.h=0
self.s=self.l*self.h
def sety(self,key):
'''huode item'''
self.l,self.h=key

def gety(self):
return self.l,self.h,self.s
key=property(gety,sety)

>>> a=pro()
>>> a.key
(0, 0, 0)
>>> a.key=(12,13)
>>> a.key
(12, 13, 0)

self.s=self.l*self.h
在__init__里面,也就只是初始化时执行了一次,你为设置步长添加个函数,然后在sety里面调用即可,或者直接在sety里面self.s=self.l*self.h
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-12
def pro(key):
i,h = key
s = i*h
return '(%d,%d,%d)'%(i,h,s)

a = pro((1,2))
a
相似回答