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 = 小咪