【Python】绑定与非绑定方法


'''
在类内部定义的函数分为两大类:
一:绑定方法
绑定到对象的方法:在类定义的没有任何装饰器修饰的方法

二:非绑定方法
不与类或者类的对象绑定的方法
'''

SEX = ''
NAME = 'HAHA'
AGE = '100'

class Foo:
def __init__(self, name, age, sex):
self.__name = name
self.__age = age
self.__sex = sex

def tell_info(self): # 绑定到对象的方法,对象调用
print('Name:%s Age:%s Sex:%s' %(self.__name, self.__age, self.__sex))

@classmethod # 绑定到类的方法,应由类来调用,将类本身作为第一参数
def default(cls):
obj = cls(NAME, AGE, SEX)
return obj

@staticmethod # 非绑定方法,谁都可以调用
def stac():
print('static')


p1 = Foo('n', 11, 'male')
p2 = Foo.default()
posted @ 2018-08-26 13:23  caya  阅读(119)  评论(0编辑  收藏  举报