当先锋百科网

首页 1 2 3 4 5 6 7

在Python中,有静态方法和类方法两种类型的方法。静态方法使用@staticmethod装饰器定义,而类方法使用@classmethod装饰器定义。

# 静态方法示例
class MyClass():
@staticmethod
def my_static_method():
print("This is a static method.")
# 调用静态方法
MyClass.my_static_method()

静态方法属于类而不属于实例,可以直接通过类名调用,也可以通过实例调用。但是,静态方法不能访问类和实例的属性和方法。

# 类方法示例
class MyClass():
class_var = "This is a class variable."
@classmethod
def my_class_method(cls):
print(cls.class_var)
def my_normal_method(self):
print("This is a normal method.")
# 调用类方法
MyClass.my_class_method()

类方法属于类而不属于实例,可以通过类名调用,也可以通过实例调用。类方法可以访问类的属性和方法,但不能直接访问实例的属性和方法。