59、静态方法

小白量化 2025-12-16 09:09:13 32 举报

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、应用场景
当方法既不需要访问或修改对象的状态(如实例属性或实例方法),也不需要直接引用类本身(如类属性、类方法或实例化对象)时,可以考虑将该方法定义为静态方法。这样做有助于提高代码的清晰性,同时避免了不必要的参数传递。

量化小白,从0开始学量化! 1

著作权归文章作者所有。 未经作者允许禁止转载!

最新回复 ( 0 )
发新帖
0
DEPRECATED: addslashes(): Passing null to parameter #1 ($string) of type string is deprecated (/data/user/htdocs/xiunophp/xiunophp.min.php:48)