1. 程式人生 > >python類例項方法,類方法和類靜態方法區別

python類例項方法,類方法和類靜態方法區別

  • 類例項方法呼叫必須用例項, 類方法呼叫可以用例項也可以用類名,
  • 類靜態方法調不需要例項化,通過類直接訪問
  • 類方法的作用是它可以把例項當引數,也可以把類當引數傳進去
  • 案例
class Person():
    # 例項方法
    def eat(self):
        print(self)
        print("earting")
        
    # 類方法
    # 類方法的第一給引數,一般命名為cls,區別於self
    @classmethod
    def play(cls):
        print
(cls) print("playing") # 靜態方法 # 不需要用第一個引數表示自身或類 @staticmethod def say(): print("staying")

定義一個叫yueyue的例項

yueyue = Person()
# 例項方法
yueyue.eat()

<main.Person object at 0x000001FADEDE5668>
earting

# 類方法
Person.play()
# 例項呼叫,也當成類呼叫
yueyue.play()

<class ‘main

.Person’>
playing
<class ‘main.Person’>
playing

#  靜態方法
Person.say()
yueyue.say()

staying
staying

詳細區別日後再補