python中:类、静态和动态方法的理解
发布时间
阅读量:
阅读量
一、界定
| 序号 | 实例方法 | 类方法 | 静态方法 |
|---|---|---|---|
| 定义 | 第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法 | 使用装饰器@classmethod。第一个参数必须是当前类对象,该参数名一般约定为“cls”,通过它来传递类的属性和方法 | 使用装饰器@staticmethod。参数随意,没有“self”和“cls”参数,但是方法体中不能使用类或实例的任何属性和方法 |
| 调用 | 只能由实例对象调用 | 实例对象和类对象都可以调用 | 实例对象和类对象都可以调用 |
| 属性及方法传递 | (也可以传类的属性和方法) | (不能传实例的属性和方法) | |
二、程序代码:
class Foo(object):
# 定义了实例方法
def test(self):
print("object:这里定义了实例方法")
# 定义了类方法
@classmethod
def test2(clss):
print("class:这里定义了类方法")
# 定义了静态方法
@staticmethod
def test3():
print("static:这里定义了静态方法")
if __
全部评论 (0)
还没有任何评论哟~
