亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python菜鳥求教一個__init__的問題

python菜鳥求教一個__init__的問題

哆啦的時光機 2018-07-18 11:09:19
在學習python,看到__init__這個地方不太懂,下面是學習資料上的一段代碼:#!/usr/bin/python# Filename: class_init.pyclass Person:    def __init__(self, name):        self.name = name    def sayHi(self):        print 'Hello, my name is', self.namep = Person('Swaroop')p.sayHi()輸出:$ python class_init.pyHello, my name is Swaroop不太明白__init__方法的必要性就自己寫了一個沒用__init__的模塊 #!/usr/bin/python # Filename: class_test.py  class Person:     def sayHi(self, name):         self.name = name         print 'Hello, my name is', self.name  p = Person('Swaroop') p.sayHi()報錯:$ python class_test.py Traceback (most recent call last):  File "class_test.py", line 9, in <module>    p = Person('Swaroop')TypeError: this constructor takes no arguments希望能有前輩給解答一下我自己的代碼報錯的原因,希望能從程序運行的流程講解一下__init__的用處。謝謝。
查看完整描述

3 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

__init__類似與C++或者Java,C#里面的構造函數,只不過C++,Java,C#里面的this參數是隱藏的,不需要用戶顯示的寫出來,但是在python,this參數(你可以自己命名為任意 合法變量名稱,不一定是self)需要自己手動顯示的定義,并且放在第一個參數。類似的F#語言在定義類的時候也是使用python這種方式,還有其他腳本語言也是這樣的。

查看完整回答
反對 回復 2018-07-19
  • 3 回答
  • 0 關注
  • 355 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號