下面的**是python中dog
類的定義。在這個類中定義了name
和age
兩個屬性,同時還定義了兩個方法: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 向高層管理者提供專案發起人的資訊,而不是專案管...