Python中的實例方法、類方法、靜態方法的區別
- 2020 年 8 月 22 日
- 筆記
- 上海多測師, 上海軟件測試培訓, 多測師, 多測師_Python, 多測師線上培訓, 廣州多測師, 廣州軟件測試培訓, 深圳多測師, 深圳軟件測試培訓, 線上軟件測試培訓, 軟件測試培訓
1、關於參數的區別
實例方法:定義實例方法是最少有一個形參 —> 實例對象,通常用self
類方法:定義類方法的時候最少有一個形參 —> 類對象,通常用cls
靜態方法:定義靜態方法的時候可以不定義形參
2、關於方法定義時候添加裝飾器的區別
實例方法:不需要添加裝飾器
類方法:需要添加裝飾器 —-> @classmethod
靜態方法:需要添加裝飾器 —> @staticmethod
3、調用:
1.實例方法可以通過對象直接調用
2.但是用類名調用的時候,需要創建一個對象,並且在傳遞參數的時候要將對象傳遞進去
3.類方法可以通過類名直接調用,也可以通過對象來調用
4.靜態方法可以通過類名直接調用,也可以通過對象來調用
4、補充
1.靜態方法不可以繼承。
2.類方法不能訪問實例變量,只能訪問類變量
class Dog(object): food = "gutou" age = "1" def __init__(self, name): self.NAME = name def eat(self,age): # 可以使用實例方法 # print(self.NAME) print(age) print(self.food) @classmethod def eat1(cls, age): # 只能是類中的變量 # print(cls.NAME) cls.food = "tang" @staticmethod def print_1(): print(Dog.food, Dog.age)


