Python中,类方法和实例方法,的区别
时间: 2024-03-28 07:14:25 浏览: 15
在Python中,类方法和实例方法都是与类相关联的方法,但它们的调用方式和行为有所不同。
类方法是定义在类中的方法,可以通过类名或实例对象来调用。它的第一个参数通常是cls,表示类本身,而不是实例。类方法可以访问类属性,但不能访问实例属性。
实例方法是定义在类中的方法,只能通过实例对象来调用。它的第一个参数通常是self,表示实例本身。实例方法可以访问实例属性和类属性。
下面是一个示例代码,展示了类方法和实例方法的定义和使用:
``` python
class MyClass:
class_var = 0 # 类属性
def __init__(self, inst_var):
self.inst_var = inst_var # 实例属性
@classmethod
def class_method(cls):
print("This is a class method.")
print("Class variable:", cls.class_var)
def inst_method(self):
print("This is an instance method.")
print("Instance variable:", self.inst_var)
print("Class variable:", MyClass.class_var)
# 调用类方法
MyClass.class_method()
# 创建实例对象并调用实例方法
obj = MyClass(100)
obj.inst_method()
```
输出结果如下:
``` python
This is a class method.
Class variable: 0
This is an instance method.
Instance variable: 100
Class variable: 0
```