Python新风格类与静态、类方法深度解析
1. 新风格类概述
新风格类在语法和行为上几乎与经典类完全向后兼容,主要是增加了一些高级新特性。不过,由于它修改了继承的一种特殊情况,为避免影响依赖先前行为的现有代码,它作为一种独特的工具被引入。
1.1 新风格类的编码方式
新风格类使用我们学过的常规类语法进行编码,主要的编码区别在于从内置类型(如 list )派生以创建新风格类。如果没有合适的内置类型可用,Python提供了一个新的内置名称 object 作为新风格类的超类,示例代码如下:
class newstyle(object):
...normal code...
一般来说,任何从 object 或其他内置类型派生的类都会自动被视为新风格类。而未从内置类型派生的类则被视为经典类。
1.2 Python 3.0中的变化
Python创建者Guido van Rossum表示,在Python 3.0中,所有类将自动成为新风格类,不再需要从内置超类派生。对于大多数程序员来说,这种变化是透明的,因为独立类也会被视为新风格类,且新风格类与经典类几乎完全向后兼容。不过,建议查看Python 3.0的发布说明以获取更多信息。
2. 菱形继承的变化
新风格类最明显的变化之一是对所谓菱形多重继承树的继承处理方式略有不同。在菱形模式中,多个超类会指向同一个更高层的超类。
超级会员免费看
订阅专栏 解锁全文
277

被折叠的 条评论
为什么被折叠?



