python 類方法 靜態方法

屬性:函數

  公有屬性  (屬於類,每一個類一份)spa

  普通屬性  (屬於對象,每一個對象一份)code

  私有屬性    (屬於對象,跟普通屬性類似,只是不能經過對象直接訪問) 對象

方法:(按做用)blog

  構造方法it

  析構函數class

方法:(按類型)變量

  普通方法object

  私有方法(方法前面加兩個下劃線)方法

  靜態方法

  類方法

  屬性方法

靜態方法

@staticmethod
靜態方法,經過類直接調用,不須要建立對象,不會隱式傳遞self

類方法

@classmethod
類方法,方法中的self是類自己,調用方法時傳的值也必須是類的公有屬性,
就是說類方法只能操做類自己的公有字段

class Dog(object): food = "gutou" age = "1"
    def __init__(self, name): self.NAME = name @classmethod def eat(self,age): #只能是類中的變量
        # print(self.NAME)
        print(age) print(self.food) @classmethod def eat1(self, age):  # 只能是類中的變量
        # print(self.NAME)
        age = "2" self.food = "tang" @staticmethod def print_1(): print(Dog.food, Dog.age) d = Dog("labuladuo") d.eat(Dog.age) #經過對象調用
Dog.eat(Dog.age)  #經過類調用
print("-----1-----") d.eat1(Dog.age) Dog.print_1() print("--------2-------") Dog.eat1(Dog.age) Dog.print_1()

output:

1gutou1gutou-----1-----('tang', '1')--------2-------('tang', '1')

相關文章
相關標籤/搜索