方法名称 | 样式 | 可被谁调用 | 可调用谁 | 用处 |
---|
类方法 | 方法的第一个参数是类 | 类 实例 | 类变量 | 修改类属性 |
静态方法 | 方法不需要任何固定的参数 | 类 实例 | 自身的变量 | 只能做内部的处理 |
类中函数 | 就是在类里面写了个函数 | 不可外部调用 | 自身的变量 | 内部私有化部分 |
实例方法 | 就是有self接收实例的这种方法 | | | |
class Bird: #类
def __init__(self): #实例方法,就是有self接收实例的这种方法
print("大雁01")
def func(self): #类当中的函数
print("大雁02")
@classmethod #类方法的装饰器
def cMethod(cls): #方法的第一个参数代表类,即cls代表实例,也就代表Bird
cls.age = 4
Bird.age = 3
print("大雁03")
@staticmethod #静态方法的装饰器
def sMethod():
print("大雁04")
b = Bird()
#类方法
b.cMethod() #类方法的装饰器被实例调用
Bird.cMethod() #类方法的装饰器被类调用
print(Bird.age)
#静态方法
b.sMethod() #静态方法的装饰器被实例调用
Bird.sMethod() #静态方法的装饰器被类调用
#类中函数,不可外部调用