一、定義一個類 第一種方法__init__()方法是一種特殊的方法,被稱為類的構造函數或初始化方法,當創建了這個類的實例時就會調用該方法 self 代表類的實例,self 在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數。 二、self代表的實例,而非類 類的方法與普通的函數只有一個特別的 ...
一、定義一個類
class Dog(object): # 定義class def __init__(self, name): # 構造函數,構造方法 == 初始化方法 self.name = name # d.name = name 類的屬性 / 成員變數 def say_hi(self): # 類的方法 print("Hello, I am a dog. My name is", self.name) def eat(self, food): print("%s is eating %s." % (self.name, food)) d = Dog("xiaohei") # Dog(d,"xiaohei") d == self # d 實例化的對象即實例,類中的self相當於實例 d.say_hi() # d.say_hai(d) d.eat('beaf')
- 第一種方法__init__()方法是一種特殊的方法,被稱為類的構造函數或初始化方法,當創建了這個類的實例時就會調用該方法
- self 代表類的實例,self 在定義類的方法時是必須有的,雖然在調用時不必傳入相應的參數。
二、self代表的實例,而非類
類的方法與普通的函數只有一個特別的區別——它們必須有一個額外的第一個參數名稱, 按照慣例它的名稱是 self。
class Dog(object): def prt(self): print(self) print(self.__class__) d = Dog() print(d) print("-------------") d.prt() #輸出 <__main__.Dog object at 0x000001DDBD10C5F8> ------------- <__main__.Dog object at 0x000001DDBD10C5F8> <class '__main__.Dog'>
從執行結果可以很明顯的看出,self 代表的是類的實例,代表當前對象的地址,而 self.class 則指向類。
三、創建實例對象
實例化類其他編程語言中一般用關鍵字 new,但是在 Python 中並沒有這個關鍵字,類的實例化類似函數調用方式。
# 創建一個Dog類的對象 d = Dog("xiaohei")
實例化後的對象又稱之為:實例
四、訪問屬性
您可以使用點(.)來訪問對象的屬性
# 通過 d.方法 來訪問屬性 d.eat('beaf') #輸出 xiaohei is eating beaf.