Python学习
7.5 静态方法
静态方法上面有一个装饰器@staticmethod,静态方法没有像实例方法和类方法一样强制默认传入一个指定的参数名。如下:
@staticmethod
def add(x, y):
pass
对象和类都可以调用静态方法,如下:
class Student():
sum1 = 0
name = '哈哈哈'
age = 0
def __init__(self, name, age):
self.name = name
self.age = age
@staticmethod
def add(x, y):
print('This is a static method')
student1 = Student('石敢当', 18)
student1.add(1,2)
Student.add(1,2)
正确打印出结果:
静态方法也可以访问类变量。如下:
@staticmethod
def add(x, y):
print(Student.sum1)
可以正确输出结果。
但是静态方法不可以访问实例变量。
静态方法使用场景:一般不建议使用,当这个方法和类与对象没什么关联时,可以尝试使用。