Static method

語法

使用@staticmethod宣告靜態方法,參數不用有self。

1
2
3
4
5
6
7
8
9
10
11
12
class Cat:
    def __init__(self, name):
        self.name = name

    @staticmethod
    def f():
        print(f"靜態方法")

# 類別名.靜態方法()
Cat.f()
# 物件.靜態方法()
Cat("小咪").f()

類別名,就是物件

Python的類別名本身就是物件。
類別名可以呼叫成員方法,但要代入參數,參數為類別名,因為類別名本身就是物件。

1
2
3
4
5
6
7
8
9
10
11
class Cat:
    name = "Default cat"
    def __init__(self, name):
        self.name = name
    def hi(self):
        print(f"hi() name = {self.name}")

# 類別名呼叫成員方法,要代入參數
Cat.hi(Cat)
# 物件呼叫成員方法,不用代入參數,self就是物件本身
Cat("小咪").hi()
hi() name = Default cat
hi() name = 小咪

results matching ""

    No results matching ""