Python中的类默认都是继承自object类,而且这个特点只出现在Python 2中,Python 3中所有的类都会默认继承自object类。
# Python 2中定义类时不指定父类 class MyClass: pass # Python 2中查看MyClass的父类 print(MyClass.__bases__) # 输出结果为:(,) # Python 3中定义类时不指定父类 class MyClass: pass # Python 3中查看MyClass的父类 print(MyClass.__bases__) # 输出结果为:( ,)
从上面的代码可以看出,在Python 2中定义类时不指定父类,默认会继承自object类。而在Python 3中,也默认继承自object类。实际上,在Python 3中,即使明确指定了父类,也可以省略不写,效果跟默认继承自object类相同。
需要注意的是,在Python 2中,不继承自object类可能会导致某些Python内置函数和第三方库函数的使用出现问题。而在Python 3中,这个问题已经被解决,完全可以省略不写父类。