说明:把一个方法封装成静态方法。
def staticmethod(fn):
'''
把一个方法封装成静态方法
:param fn: 要封装的方法
:return: 封装后的方法
'''
!subtitle:说明
将一个方法封装成静态方法,通常以 装饰器 的形式使用。
静态方法没有隐含参数。要声明一个静态方法,按惯例请使用以下方案:
class C:
@staticmethod
def fn(arg1, arg2):
pass
静态方法的调用可以在类上进行,也可以在实例对象上进行,不会传递隐含参数。
参考 classmethod 函数。
!subtitle:参数
fn - 要封装成静态方法的函数
!subtitle:返回值
封装成静态方法后的函数。
class Cat:
name = '薛定谔'
@staticmethod
def speak():
print(f'喵喵喵,我叫{Cat.name}') # 静态方法没有隐含参数,因此需要通过类名访问类的属性
# 通过类调用
Cat.speak()
# 通过对象调用
cat = Cat()
cat.speak()