在Python 2.x中,根据是否存在作为基类的内置类型,存在两种样式的类:
"classic" style or old style classes have no built-in type as a base class: >>> class OldSpam: # no base class ... pass >>> OldSpam.__bases__ ()
“新”样式类:它们具有内置类型作为基类,这意味着它们直接或间接地将对象作为基类-
>>> class NewSpam(object): # directly inherit from object ... pass >>> NewSpam.__bases__ (<type 'object'>,) >>> class IntSpam(int): # indirectly inherit from object... ... pass >>> IntSpam.__bases__ (<type 'int'>,) >>> IntSpam.__bases__[0].__bases__ # ... because int inherits from object (<type 'object'>,)
编写一门课时,人们总是想参加新式的课。这样做的好处是无数的,列举其中一些-
支持描述符。具体来说,使用描述符可以实现以下构造-
classmethod-一种将类作为隐式参数而不是实例接收的方法。
静态方法-一种不接收隐式参数self作为第一个参数的方法。
具有属性的属性:创建用于管理属性的获取,设置和删除的功能。
Python 3.x隐式仅支持新样式类。在类声明中,不需要在括号中提及“对象”一词。