这 7 个问题,我是有收获的,整理如下:,你可能知道 Python 里面的魔法函数,比如 __add__ 和 __sub__ 代表 + – 运算符,表示 obj +/- something,但你可能不知道还有一个 __radd__,__rsub__ 函数,可以表示 something +/- obj。,举例如下:,__getattr__ 魔术方法只有在我们试图获取不存在的属性时才会被调用,__getattribute__ 在每次我们尝试访问属性时都会被调用。,代码如下:,等价于:,请注意,Animal.__init__(self, name, age) 不能少了 self 参数。,不过,.__subclasses__() 只能检查直接子类。,A 和 B 都有 test 方法,那么 C 到底集成了哪一个呢?在 Python 中,最左边的类优先。,在这里,A 是最左边的父类,因此 A 的 test 方法被集成。,多充继承让人困惑,不用为好。,~ 运算符代表“按位非”,通常用于反转内容。一个更有意义的例子如下:,在这里,我们将 3 个参数传递给 type 以创建我们的类。,第一个参数 __name__ 是类的名称 第二个参数 __bases__ 是一个包含父类的元组 第三个参数 __dict__ 是一个包含属性和方法的字典。,等价于:,
文章版权声明
1 原创文章作者:cmcc,如若转载,请注明出处: https://www.52hwl.com/17059.html
2 温馨提示:软件侵权请联系469472785#qq.com(三天内删除相关链接)资源失效请留言反馈
3 下载提示:如遇蓝奏云无法访问,请修改lanzous(把s修改成x)
4 免责声明:本站为个人博客,所有软件信息均来自网络 修改版软件,加群广告提示为修改者自留,非本站信息,注意鉴别