Avatar ·

为什么 Python 中需要 @staticmethod

📁 装饰师, 方法, python, 人工智能

有一个类 printer。它有两个方法,功能相同。区别在于其中一个方法带有 @staticmethod 装饰器,另一个没有。但我可以在不创建类实例的情况下调用这两个方法。

class printer():    ''' 测试 @staticmethod '''    def not_static_print(self, text = 'Example Text'):        print(text)    @staticmethod    def static_print(text = 'Example Text'):        print(text)# 不创建任何实例printer.not_static_print(None, 'Emm?')printer.static_print('Something like this.')