python3类方法可以通过两种方式进行调用:实例方法和类方法。
- 实例方法调用 实例方法是绑定在实例对象上的方法,可以通过实例对象来调用。在调用实例方法时,会自动将实例对象作为第一个参数传递给方法。
class MyClass:
def instance_method(self, arg):
# 实例方法定义
print("This is an instance method")
print("Argument:", arg)
# 创建实例对象
obj = MyClass()
# 调用实例方法
obj.instance_method("hello")
以上代码中,通过obj.instance_method("hello")
调用了实例方法instance_method
,此时obj
对象会自动作为第一个参数传递给instance_method
方法。
- 类方法调用 类方法是绑定在类上的方法,可以通过类名来调用。在调用类方法时,会自动将类对象作为第一个参数传递给方法。
class MyClass:
@classmethod
def class_method(cls, arg):
# 类方法定义
print("This is a class method")
print("Argument:", arg)
# 调用类方法
MyClass.class_method("world")
以上代码中,通过MyClass.class_method("world")
调用了类方法class_method
,此时MyClass
类会自动作为第一个参数传递给class_method
方法。
除了直接通过类名调用类方法,还可以通过实例对象调用类方法。在这种情况下,实例对象会自动被转换为类对象,并作为第一个参数传递给类方法。
class MyClass:
@classmethod
def class_method(cls, arg):
# 类方法定义
print("This is a class method")
print("Argument:", arg)
# 创建实例对象
obj = MyClass()
# 通过实例对象调用类方法
obj.class_method("world")
类方法的装饰器@classmethod
用于将一个普通方法转换为类方法。在类方法中,可以通过cls
参数来引用类对象。
综上所述,python3类方法可以通过实例方法调用和类方法调用两种方式进行调用。实例方法通过实例对象调用,类方法通过类名或实例对象调用。在调用过程中,会自动将实例对象或类对象作为第一个参数传递给方法。