6. 静态方法
静态方法 @staticmethod
什么是静态方法
静态方法是定义在类的内部函数,此函数的作用域是类的内部。
说明
- 静态方法需要使用 @staticmethod 装饰器定义。
- 静态方法与普通函数定义相同,不需要传入 self 对象参数和 cls 类参数。
- 静态方法只能凭借该类或类创建的对象调用。
- 静态方法不能访问类属性和对象属性。
示例
class Mathematics:
'''数学相关的类'''
@staticmethod
def myadd(x, y):
return x + y
m = Mathematics() # 创建一个数学类的对象
result = m.myadd(100, 200)
print(result)
result = Mathematics.myadd(1, 2)
print(result)
myadd(x, y) 是类 Mathematics 内的静态方法,类 Mathematics 和该类的对象都可以调用这个方法,但在方法内无法得知调用此方法的类和对象。
函数和方法总结
对象方法、类方法、静态方法、函数总结:
- 不访问类属性和实例属性,用静态方法。
- 只访问类属性,不访问对象属性用类方法。
- 即访问类属性,也访问对象属性用对象方法(也称作实例方法)。
- 函数与静态方法相同,只是静态方法的作用域定义在类内,需要用
类名.函数名()
或对象.函数名()
的方式来调用。