众所周知,python是一门面向对象的编程语言,里面有个注解是
@staticmethod
如果某一个方法需要访问到对象的实例属性,可以把这个方法封装成一个实例方法。
如果某一个方法不需要访问对象的实例属性,但是需要访问到类的类属性,可以把这个方法封装成一个类方法。
一个实例方法, 一个类方法,这是两种方法类型。
但是还有一种情况,如果要封装的某一个方法,既不需要访问到对象的实例属性,也不需要访问类的类属性,可以考虑把这个方法封装成一个静态方法
@staticmethod
def 静态方法名():
方法内容
静态方法的不同之处就是它可以存在于类中,不同实例化类也可以调用。
需要通过装饰器 @staticmethod 来进⾏修饰, 静态⽅法既不需要传递类对象也不需要传递实例对象(形参没有self和cls ) 。
静态⽅法也能够通过 实例对象 和 类对象 去访问。
当⽅法中 既不需要使⽤实例对象 ( 如实例对象,实例属性 ) , 也不需要使⽤类对象 ( 如类属性、类⽅法、创建实例等) 时,定义静态⽅法
class People(object):
@staticmethod
def information():
print('这是⼀个人类,⽤于创建人实例')
xiaoming = People()
# 静态⽅法既可以使⽤对象访问⼜可以使⽤类访问
xiaoming.information()
People.information()
运行结果:
这是⼀个人类,⽤于创建人实例
这是⼀个人类,⽤于创建人实例