多语言展示
当前在线:261今日阅读:113今日分享:31

python定义新式类需要继承object吗

在python中,继承object的类叫做新式类,什么都不继承的类叫做经典类,那我们在定义类的时候到底要不要继承object呢
方法/步骤
1

首先我们在pycharm中将运行环境设置成python2.7版本

2

然后定义一个不继承object的类A,接着用dir方法来打印下类A的对象中所包含的属性和方法,可以看到只有两个方法

3

接着我们让A类继承object类(注意object类首字母是小写,这是之前版本的遗留问题, java中为Object类,现在新版python规范中类命名也是和Java一样建议使用驼峰法),然后再打印一次,可以看到对象a的方法多了很多,这样的类就是新式类

5

运行不继承object的A类,发现这竟然是新式类

6

运行继承object的A类,结果没有任何变化

7

总结下:也就是说,在python3.x中只有新式类,在python2.x中存在经典类,如果你的开发环境是2.x,那就要注意继承object,如果你的开发环境是3.x,可以不继承object,但是如果你希望你的代码兼容性高一点,最好在3.x的环境下也显式继承object,这样在2.x环境下跑也不会出问题.

推荐信息