类方法和静态方法
一: 类方法
1. 第一个参数是类对象的方法
2. 需要用装饰器@classmethod 来标识,对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数
3. 案例
class Dog(object):
__type = "狗"
# 类方法,用classmethod来进行修饰
@classmethod
def get_type(cls): # cls为类对象
return cls.__type
print(Dog.get_type()) # 在这里不需要传参数
4. 使用场景:
当方法中需要使用类对象(如访问私有属性等)时,定义为类方法
类方法一般和类属性配合使用
**二: ** 静态方法
1. 需要通过装饰器@staticmethod
来进行修饰,静态方法既不需要传递类对象也不需要传递实例对象(形参没有self/cls)。
2. 静态方法 也能够通过 实例对象 和 类对象 去访问。
3. 案例:
案例01:
class Dog