亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:73日期: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)行這個程序時,只有當(dāng)score是私有變量的時候才能正常運(yùn)行,是property的某些特性嗎,還是什么?如果只設(shè)置為self.score = score,就會出現(xiàn)‘maximum recursion depth exceeded while calling a Python object’的錯誤,求大神解答

問題解答

回答1:

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

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

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

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

當(dāng)然會報超過最大迭代深度的錯誤了

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 九九九九精品视频在线播放 | 色婷婷六月丁香在线观看 | 日本一级免费 | 国产精品国产国产aⅴ | 午夜寻花高颜值极品女神 | 国产在线视频色综合 | 国产乱人伦偷精品视频不卡 | 国产免费久久精品久久久 | 亚洲精品国产高清不卡在线 | 在线观看国产精品日本不卡网 | 成年人免费观看网站 | 欧美偷拍小视频 | 成片免费的禁v影片 | 亚洲狠狠ady亚洲精品大秀 | 涩涩国产精品福利在线观看 | 在线看片 在线播放 | 国产麻豆视频在线看网站 | 狠狠色丁香婷婷综合 | 中文激情| 欧美jizz8性欧美18 | 国内在线精品 | 害羞的清纯女神露脸在线视频 | 欧美视频三区 | 欧美黄色大片免费看 | 亚洲精品天堂一区二区三区 | 久久在线视频 | 国产一区二区高清在线 | 麻豆国产精品有码在线观看 | 久久免费精品一区二区 | 青春草国产成人精品久久 | 免费在线看黄网站 | 婷婷伊人久久 | 久久久综合九色合综国产 | 亚洲色图综合区 | 日韩成人午夜 | 精品国产一区二区麻豆 | 手机在线观看亚洲国产精品 | 国产手机在线小视频免费观看 | 九九国产精品九九 | 一区二区三区在线播放 | 国产在线观看免费一级 |