鉴于以下代码没有错误运行,为什么staticmethod
装饰器是必需的?它实际上在做什么?
class Foo:
def say_hi(name):
print(f'Hello {name}.')
@staticmethod
def say_bye(name):
print(f'See ya later, {name}.')
my_name = 'Bar...t'
Foo.say_hi(my_name)
Foo.say_bye(my_name)
答案 0 :(得分:0)
与类方法非常相似,静态方法是绑定到类而不是对象的方法。
它们不需要创建类实例。因此,它们不依赖于对象的状态。
静态方法和类方法之间的区别是:
静态方法对类一无所知,只处理参数。 类方法与类一起使用,因为其参数始终是类本身。 https://www.programiz.com/python-programming/methods/built-in/staticmethod