1、含义
使用@staticmethod修饰的方法。
静态方法在定义时不接收也不应包含类对象(cls)或实例对象(self)作为参数,因为这些方法不依赖于类或其实例的状态。
2、语法格式
# 语法格式 @staticmethod def 方法名(形参): 方法体
# 示例
class Person:
def study(self): # 实例方法:带有self参数,代表对象本身
print("人类爱学习~")
# 弊端:
# (1)实例方法由对象调用,需要专门创建对象调用该方法
# (2)方法内部并没有使用到对象
@staticmethod
def study2():
print("人类爱学习2~")
@staticmethod
def study3(subject): # 带参数的静态方法
print(f"人类爱学习{subject}2~")
# 静态方法可以通过类调用,也可以通过对象调用
Person.study2()
Person.study3("python") # 直接通过类名调用并传递参数
person = Person()
person.study()
person.study2()
person.study3("java") # 通过对象调用并传递参数3、应用场景
当方法既不需要访问或修改对象的状态(如实例属性或实例方法),也不需要直接引用类本身(如类属性、类方法或实例化对象)时,可以考虑将该方法定义为静态方法。这样做有助于提高代码的清晰性,同时避免了不必要的参数传递。
著作权归文章作者所有。 未经作者允许禁止转载!