色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python - 程序運(yùn)行會(huì)出現(xiàn)錯(cuò)誤

瀏覽:111日期:2022-06-27 17:51:54

問題描述

class Person(object): def __init__(self,name):self.name = nameclass Teacher(Person): def __init__(self,score):self.__score = scoreclass Student(Teacher,Person): def __init__(self,name,score):Person.__init__(self,name)super(Student,self).__init__(score) @property def score(self):return self.__score @score.setter def score(self,score):if score<0 or score >100: raise ValueError(’invalid score’)self.__score = score def __str__(self):return ’Student:%s,%d’ %(self.name,self.score)s1 = Student(’Jack’,89)s1.score = 95print s1

在運(yùn)行這個(gè)程序時(shí),只有當(dāng)score是私有變量的時(shí)候才能正常運(yùn)行,是property的某些特性嗎,還是什么?如果只設(shè)置為self.score = score,就會(huì)出現(xiàn)‘maximum recursion depth exceeded while calling a Python object’的錯(cuò)誤,求大神解答

問題解答

回答1:

會(huì)產(chǎn)生這個(gè)困惑的原因是對(duì)python的getter裝飾器和setter裝飾器不夠熟悉

當(dāng)你聲明了對(duì)score屬性的setter裝飾器之后, 實(shí)際上對(duì)這個(gè)score進(jìn)行賦值就是調(diào)用這個(gè)setter裝飾器綁定的方法

所以你的setter要訪問的成員變量不能和setter方法同名, 不然就相當(dāng)于一個(gè)無盡的迭代:

self.score(self.score(self.score(self.score(self.score........ 無盡的迭代,

當(dāng)然會(huì)報(bào)超過最大迭代深度的錯(cuò)誤了

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 美女扒开双腿让男人爽透视频 | 欧美激情久久久久久久大片 | 九九香蕉网 | 成 人 黄 色 免费播放 | 一区中文字幕 | 五月天婷婷伊人 | 荡公乱妇蒂芙尼中文字幕 | 亚洲gogo人体大胆西西安徽 | 老色99久久九九精品尤物 | 亚洲欧美一级视频 | 91精品国产91热久久久久福利 | 国产三级做爰在线观看视频 | a级片免费 | 久久精品欧美日韩精品 | 久久久久久久91精品免费观看 | 成人欧美视频在线观看 | 欧美亚洲国产激情一区二区 | 美女视频免费看视频网站 | 欧美日韩精品乱国产 | 欧美一区二区三区gg高清影视 | 国内精品七七久久影院 | 美国大毛片 | 草草影院第一页yycccom | 欧美成人精品高清在线观看 | 在线精品亚洲欧洲第一页 | 手机看片久久高清国产日韩 | 亚洲国产情侣一区二区三区 | avove旗袍丝袜高跟啪啪 | 91av福利 | 午夜影院在线免费 | 久久久精品国产免费观看同学 | 国产高清精品自在线看 | 宫女淫春3在线观 | 亚洲欧美激情视频 | 日韩在线视频不卡一区二区三区 | 欧美与黑人午夜性猛交久久久 | 国产孕妇孕交视频在线观看 | 亚洲精品韩国美女在线 | 欧美xxxx成人免费网站 | 国内精品91久久久久 | 亚洲无色 |