99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
2018-10-24 閱讀量: 825
python 錯誤解析(二十三)

代碼如下:

>>>def A():  
return A()
>>>A() #無限循環(huán),等消耗掉所有內(nèi)存資源后,報最大遞歸深度的錯誤
File "<pyshell#2>", line 2, in A return A()RuntimeError: maximum recursion depth exceeded
class Bird:
def __init__(self):
self.hungry = True
def eat(self):
if self.hungry:
print "Ahaha..."
self.hungry = False
else:
print "No, Thanks!"

該類定義鳥的基本功能吃,吃飽了就不再吃

輸出結(jié)果:

代碼如下:

>>> b = Bird()  
>>> b.eat()
Ahaha...
>>> b.eat()
No, Thanks!

下面一個子類SingBird,

代碼如下:

class SingBird(Bird):  
def __init__(self):
self.sound = 'squawk'
def sing(self):
print self.sound

輸出結(jié)果:

代碼如下:

>>> s = SingBird()  
>>> s.sing()
squawk

SingBird是Bird的子類,但如果調(diào)用Bird類的eat()方法時,

代碼如下:

>>> s.eat()  
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
s.eat()
File "D:\Learn\Python\Person.py", line 42, in eat
if self.hungry:
AttributeError: SingBird instance has no attribute 'hungry'

【錯誤分析】代碼錯誤很清晰,SingBird中初始化代碼被重寫,但沒有任何初始化hungry的代碼

代碼如下:

class SingBird(Bird):  
def __init__(self):
self.sound = 'squawk'
self.hungry = Ture #加這么一句
def sing(self):
print self.sound
0.0000
1
關(guān)注作者
收藏
評論(0)

發(fā)表評論

暫無數(shù)據(jù)
推薦帖子