国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

python - 程序運行會出現錯誤

瀏覽:84日期: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

在運行這個程序時,只有當score是私有變量的時候才能正常運行,是property的某些特性嗎,還是什么?如果只設置為self.score = score,就會出現‘maximum recursion depth exceeded while calling a Python object’的錯誤,求大神解答

問題解答

回答1:

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

當你聲明了對score屬性的setter裝飾器之后, 實際上對這個score進行賦值就是調用這個setter裝飾器綁定的方法

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

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

當然會報超過最大迭代深度的錯誤了

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成人久久久观看免费毛片 | 国产精品黄网站免费观看 | 婷婷亚洲久悠悠色在线播放 | 看性过程三级视频在线观看 | 久久国产成人福利播放 | 久久一本色系列综合色 | vr18成人资源 | 美女图片131亚洲午夜 | 一区二区三区在线观看视频 | 免费黄色毛片视频 | 成人片网址| 亚洲国产成人麻豆精品 | 国产精品美女免费视频大全 | 国产精品久久久久久搜索 | 思99re久久这里只有精品首页 | 成年男女免费视频网站播放 | 在线精品视频播放 | 免费看片亚洲 | 性做久久久久久久免费看 | 在线亚洲精品视频 | 精品成人一区二区三区免费视频 | 国产精品久久久久久久久久久搜索 | 国产在线91精品天天更新 | 一区二区三区视频观看 | 精品在线免费视频 | 日韩精品免费视频 | 欧美乱一级在线观看 | 欧美综合视频在线 | 久久国产一片免费观看 | 久久伊人热 | 亚洲精品人成网线在线 | 亚洲毛片视频 | 国产精品亚洲四区在线观看 | 久久er精品视频 | 九九精品免视频国产成人 | 手机毛片在线观看 | 在线精品免费观看综合 | 99久久精品免费看国产一区二区三区 | 97国内免费久久久久久久久久 | 成人在线一区二区三区 | 99爱在线观看精品视频 |