1. 实例方法
实例方法用于操作实例变量,必须包含 self
参数。
class Person:def __init__(self, name):self.name = namedef greet(self):print(f"Hello, my name is {self.name}")person1 = Person("Alice")
person1.greet() # 输出:Hello, my name is Alice
2. 类方法
类方法使用 @classmethod
装饰器,接受 cls
参数,引用类本身。
class Person:species = "Homo sapiens"@classmethoddef change_species(cls, species):cls.species = speciesPerson.change_species("Homo erectus")
3. 静态方法
静态方法使用 @staticmethod
装饰器,不需要 self
或 cls
参数。
class MathUtils:@staticmethoddef add(a, b):return a + bprint(MathUtils.add(5, 7)) # 输出:12
重点:
- 实例方法操作实例变量和实例状态。
- 类方法用于操作类变量或实现与类相关的逻辑。
- 静态方法一般用于一些工具或辅助函数,不涉及类或实例的数据。