Table of Contents
python中出现异常,就会向上翻,破坏既定流程
python中异常的作用
可以传递数据,可以让错误的程序继续运行
重写类的加减乘除等等方法
python中可以重写复合运算符,算数运算符,反向算数运算符比较运算符
算数运算符:add,sub,mul,truediv,floordiv,mod,pow
方向算数运算符reverse:radd,rsub,rmul,rtruediv,rfloordiv,rmod,rpow
复合运算符:iadd,isub,imul,itruediv,ifloordiv,imod,ipow
比较运算符:lt,le,gt,ge,eq,ne
python中方法双下划线和类双下划线
什么时候抛出自定义异常
1.程序层层调用,return很麻烦
2.不能调用return返回错误信息
raise(可以手动抛出异常)
最常用的操作就是跨类返回数据
属性的语法
init中是self.age=age @property方法中是return self.__age
python中__new__和__init__
__new__才是真正的构造函数
1.__new__是object的方法
2.__new__中返回的是一个实例,供__init__使用。
3.__new__需要返回值,__init__不需要返回值(非None就报错)
4.__new__不常用,只有继承不可变对象(float)和用在元类,定制创建对象
元类:metaclass ,最难的魔术代码一般不会使用
python中自定义异常类就是在干什么?
封装错误的信息,里面只有数据,没有方法