__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__()