类方法通常是在类定义中声明的函数,具有self
关键字作为第一个参数,以表示它们实际上属于特定对象而不是类本身。Python的类方法共有三种类型:
self
是一个实例变量引用,需要将self
视为一个普通的实例变量,通常无需显式调用self
。class MyClass:
def unbound_method(self):
print("This is an unbound method.")
未绑定方法可以像普通函数一样使用,需要实例化类后调用方法:
# Create an instance of MyClass
my_instance = MyClass()
# Call the unbound method
unbound_method(my_instance) # This is an unbound method.
self
将类的方法与该类的一个实例相关联。当使用绑定方法时,需要提供类的实例,即参数,从而将类的方法与实例相关联。class MyClass:
def bound_method(self):
print("This is a bound method.")
当使用绑定方法时,需要传入类的实例:
# Create an instance of MyClass
my_instance = MyClass()
# Call the bound method with my_instance as the first argument
bound_method(my_instance) # This is a bound method.
@classmethod
装饰器进行定义。class MyClass:
@classmethod
def static_method(cls):
print("This is a static method.")
静态方法可作为一个独立的函数使用,无需实例即可直接调用:
# Call the static method without creating an instance of MyClass
MyClass.static_method() # This is a static method.
总结差异:
领取专属 10元无门槛券
手把手带您无忧上云