在python中, 通过obj.method()调用一个方法默认会传入实例本身作为参数. 在类中定义方法时, 第一个参数也总是self. 如果想要通过实例调用一个不需要接收self参数的方法, 需要用到@staticmethod装饰器.
在实例中直接调用不接收self参数的函数:
运行结果:
提示print_count函数不接收参数, 但是调用时提供一个参数.
使用@staticmethod方法:
运行结果:
此时的print_count函数和add函数相当于一个普通的函数, 使用实例调用时不会自动将实例作为参数传入.