python中init函數的注意點


__init__()相當於C++中的構造函數,創建實例的時候自動調用,使用過程中,我發現要注意以下幾點

1.一個類中只能有一個init函數,我定義了兩個參數不同的init函數,似乎它只認后面一個,這個跟C++中的構造函數不同。

class TelePhone():
    def __init__(self):
        self.lag="english"
        print "默認語言是英文"
    def __init__(self,lag):
        self.lag=lag
        print "默認語言設置為",lag

TelePhone()
#結果
Traceback (most recent call last):
  File "C:/Python27/class1.py", line 9, in <module>
    TelePhone()
TypeError: __init__() takes exactly 2 arguments (1 given)
>>> 

2.init函數中必須包含參數self作為第一個參數,self參數是一個指向實例本身的引用,用於訪問類中的屬性和方法。

 

3.在派生類中定義init方法,不會自動調用基類的init方法,如果要派生類調用基類,則是在派生類中使用super().__init__()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM