'''
在类内部定义的函数分为两大类:
一:绑定方法
绑定到对象的方法:在类定义的没有任何装饰器修饰的方法
二:非绑定方法
不与类或者类的对象绑定的方法
'''
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()