小萊昂納德的Python錯誤指南

2021-10-25 11:24:09 字數 1757 閱讀 3660

下面的**是python中dog類的定義。在這個類中定義了nameage兩個屬性,同時還定義了兩個方法:sit()rolled_over()

class

dog():

"""一次模擬小狗的簡單嘗試"""

def__init__

(self,name,age)

:"""初始化屬性"""

self.name=name

self.age=age

defsit(self)

:"""模擬小狗命令時蹲下"""

print

(self.name.title()+

"is now sitting."

)def

rolled_over

(self)

:"""模擬小狗命令時打滾"""

print

(self.name.title()+

"rolled over!"

)mydog = dog(

"lily",20

)print

(mydog.name)

print

(mydog.age)

執行結果:

lily

20

在類的定義時,有個初始化方法「__init__」,如果是沒有經驗的初學者,可能會認為這個方法的名字就是在init兩邊各有乙個下劃線_。哈哈,如果你是這樣認為的,那麼恭喜你,這個經驗對你非常有價值!按照這種方法來實驗一下,看看會有什麼結果?

class

dog():

"""一次模擬小狗的簡單嘗試"""

def_init_

(self,name,age)

:"""初始化屬性"""

self.name=name

self.age=age

defsit(self)

:"""模擬小狗命令時蹲下"""

print

(self.name.title()+

"is now sitting."

)def

rolled_over

(self)

:"""模擬小狗命令時打滾"""

print

(self.name.title()+

"rolled over!"

)mydog = dog(

"lily",20

)print

(mydog.name)

print

(mydog.age)

執行結果:

traceback (most recent call last):

file "f:/files/pythonfiles/projects/main.py", line 19, in mydog = dog("lily",20)

typeerror: dog() takes no arguments

報錯了!很顯然,我們想的太簡單了。那麼,問題出在**呢?

其實是這樣的:__init__並不是在init兩邊各有乙個下劃線_而是兩個下劃線,即:_ _init_ _.

萊昂納德 公尺切爾分別當選NBA上週最佳球員

資料圖 萊昂納德在比賽中 客戶端1月15日電 nba官方15日公布了上週東西部最佳球員,猛龍隊的科懷 萊昂納德和爵士隊的多諾萬 公尺切爾分別當選。倫納德上週表現 3勝0負,場均30.7分8.7籃板5助攻3.3搶斷 老鷹101 104猛龍,倫納德31分4籃板6助攻6搶斷1封蓋 籃網105 122猛龍,...

同人 我的萊昂

電影 這個殺手不太冷 的同人。這是19年初開的坑,以及原本的簡介 簡介 女主重生回一切開始之前,守護弟弟,尋回愛人 為什麼沒有更多簡介 因為我還沒想好orz 這是當初立的flag 坑先開起來,寒假的時候寫。名字都是音譯嘛,就是不喜歡音譯成里昂和瑪婷達 所以男主萊昂,女主瑪蒂娜 也不知道這個玩意最後能...

專案管理大師 哈羅德 科茲納的管理名言

1 接受專案管理理論,並持續運用它 2 採用促進公司向著成熟的專案管理發展的管理哲學,並將其傳達到每個人 3 在每個專案開始時,制定有效的計畫 4 在付諸實施時,盡可能小地變動範圍 5 要認識到成本和進度管理是緊密相連的 6 選擇合適的人做專案經理 7 向高層管理者提供專案發起人的資訊,而不是專案管...