1、__init__ : 构造函数,在生成对象时调用
该方法是在对象产生之后才会执行,只用来为对象进行初始化操作,可以有任意代码,但不一定有返回值。
所谓初始化构造函数就是在构造对象的同时被对象自动调用,完成对事物的初始化,一个类只要生成一个类对象,它一定会调用初始化构造函数.
特点:
>一个类中只能有一个初始化构造函数
>不能有返回值
>可以用它来为每个实例定制自己的特征
class Chinese:
country = 'china'
def __init__(self,name,sex,age):
self.name = name
self.sex = sex
self.age = age
def tell_info(self):
info = f"""
国籍:{self.country}
姓名:{self.name}
性别:{self.sex}
年龄:{self.age}
"""
print(info)
s1 = Chinese('alex','man','')
s2 = Chinese('alex2','woman','')
s3 = Chinese('alex3','man','')
2、_mro_解析方法调用的顺序
继承的实现原理(多继承查找)
>>> F.mro() #等同于F.__mro__
(<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
3、__call__
类的专有方法:
- __init__ : 构造函数,在生成对象时调用
- __del__ : 析构函数,释放对象时使用
- __repr__ : 打印,转换
- __setitem__ : 按照索引赋值
- __getitem__: 按照索引获取值
- __len__: 获得长度
- __cmp__: 比较运算
- __call__: 函数调用
- __add__: 加运算
- __sub__: 减运算
- __mul__: 乘运算
- __div__: 除运算
- __mod__: 求余运算
- __pow__: 乘方