天天看點

Python中靜态方法與類方法

執行個體方法/對象方法 執行個體方法或者叫對象方法,指的是我們在類中定義的普通方法

隻有執行個體化後才能使用的方法,該方法的第一個形參接收的一定是對象的本身

靜态方法

  • 格式:在方法上面添加 @staticmethod
  • 參數:靜态方法可以有參數也可以無參數
  • 應用場景:一般用于類對象以及執行個體對象無關的代碼
  • 使用方式:類名.靜态方法名(或者對象名.靜态方法名)
class Dog:
    @property
    def eat(self):
        print("吃骨頭")

# Dog.eat()             # 普通方法隻能通過對象調用的方式使用
dog =Dog()
dog.eat

# 吃骨頭      
class Game:
    @staticmethod
    def show_menu(x):
        print(x)
        print("開始按鈕1")
        print("暫停按鈕2")
        print("結束按鈕3")

# g = Game()
# g.show_menu()
Game.show_menu(2)

# 2
# 開始按鈕1
# 暫停按鈕2
# 結束按鈕3      

類方法

class Person:
    role = '人類'
    @classmethod
    def test(cls):         #第一個參數必須是目前類對象,通過cls傳遞類的屬性和方法(不能傳執行個體的屬性和方法)
        print(cls.role)
        print("----in test----")
# Person.test()

p1 =Person()
p1.test()

# 人類
# ----in test----