'''
在类内部定义的函数, 分为两大类:
一: 绑定方法: 绑定给谁, 就应该有谁来调用, 谁来调用就会把调用者当第一个参数自动传入
绑定到对象的方法: 在类内定义的没有被任何装饰器修饰的
绑定到类的方法: 在类内定义的被装饰器 classsmethod 修饰的方法
二: 非绑定方法: 没有自动传值这么一说了, 就类中定义的一个普通工具, 对象和类都可以使用
非绑定方法: 不与类或者对象绑定
'''
# --------------- 绑定给对象用的函数如下 -------------------
class Foo:
def __init__(self,name):
self.name=name
def tell(self):
print('名字是 %s' %self.name)
# --------------- 绑定给类用的函数如下 ------------------------
@classmethod
def func(cls):
print(cls)
# ---------------- 非绑定方法 -----------------------
@staticmethod
def func1(x,y):
print(x+y)
f1= Foo('kingforn')
f1.tell() # 绑定对象
Foo.func() # 绑定类
'''
执行结果:
名字是 kingforn
__main__.Foo'>'''
print(f1.func1)
print(Foo.func1)
'''执行结果:'''
Foo.func1(1,2)
f1.func1(1,2)
'''
执行结果:
3
3
'''
来源: http://www.bubuko.com/infodetail-3154075.html