python 類方法 靜態方法


屬性:

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

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

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

方法:(按作用)

  構造方法

  析構函數

方法:(按類型)

  普通方法

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

  靜態方法

  類方法

  屬性方法

靜態方法

@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:

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


免責聲明!

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



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