2019.08.29学习整理
绑定方法与非绑定方法
绑定方法
对象绑定方法
类的绑定方法
绑定方法:特殊之处,绑定给谁就是谁来调,并且会把自身调过来
类的绑定方法
绑定给类,类来调用,会把类自身传过来
类的绑定方法用在什么地方
不需要通过对象,只需要通过类就能获取到一些东西的时候,用类的绑定方法
类的绑定方法,可以由对象来调
class Person:
'''
注释的内容
'''
def __init__(self,name,age):
# print(self)
self.name=name
self.age=age
@classmethod
def test(cls):
print(cls)
print('类的绑定方法')
# Person.test()
p=Person('nick',18)
#对象可以调用类的绑定方法,也是把该对象的类传入
p.test()
总结
- classmethod 是个装饰器,放在类中函数的上面,该函数就变成了类的绑定方法
- 类的绑定方法由类来调用,自动把类传过去(对象也可以调,一般不用)
- 类的绑定方法用在什么地方?
- 不需要通过对象,只需要通过类就能完成某些事的时候,就把该方法定义为类的绑定方法
staticmethod 非绑定方法
staticmethod 非绑定方法,定义在类内部,普通方法,谁都不绑定
对象/类都可以调用,但是不会自动传值
静态方法(非绑定方法)的作用
跟类和对象都没有关系的时候,可以定义成静态方法,一般在类内部使用,类外部也可以使用
就是一个普通函数,想把它拿到类中管理,就可以定义成静态方法