python学习之新式类和旧式类讲解
作者:小菠萝测试笔记 发布时间:2021-02-27 11:10:38
object
object 是 Python 为所有对象提供的父类,默认提供一些内置的属性、方法;可以使用 dir 方法查看
新式类
以 object 为父类的类,推荐使用在 Python 3.x 中定义类时,如果没有指定父类,会默认使用 object 作为该类的父类所以 Python 3.x 中定义的类都是新式类
旧式类
不以 object 为父类的类,不推荐使用在 Python 2.x 中定义类,如果没有指定父类,不会使用 object 作为基类
新式类和旧式类的区别
在多继承时,会影响到方法搜索顺序 MOR
重点
为了保证编写的代码能够同时在 Python2.x 和 Python 3.x 中运行建议在定义类时,如果没有父类,也统一继承 object
class 类名(object):
pass
Python 2.x 中声明类
旧式类
没有继承 object 类,只有两个属性、方法旧式类会使用旧的 MRO 算法,多继承场景下,方法搜索顺序会有问题MRO 详解:Python学习之MRO方法搜索顺序
新式类
手动继承 object 类,拥有 object 类的属性、方法
Python 3.x 中声明类
默认就是新式类
class A:
pass
a = A()
print(dir(a))
# 输出结果
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
自动继承 object 类,拥有 object 类的属性、方法
来源:https://www.cnblogs.com/poloyy/p/15226425.html


猜你喜欢
- 上一篇文章中,我们介绍了python实现图片处理和特征提取详解,这里我们再来看看Python通过OpenCV实现批量剪切图片,具体如下。做图
- 一、获取Tensor神经网络在运算过程中实际上是以Tensor为格式进行计算的,我们只需稍稍改动一下forward函数即可从运算过程中抓到T
- os.Rename()这个函数的原型是func Rename(oldname, newname string) error,输入的是旧文件名
- 在网上查了一下,在网上收集了Java与JavaScript中使用的两个例子,试验过,分享下。1、Java:package org.bearf
- 二维离散傅里叶变换(DFT)对于二维图像处理,通常使用 x , y x, yx,y 表示离散的空间域坐标变量,用 u , v u,vu,v
- 序篇天气真的很热啊… 很想有一杯冰冰凉凉的奶茶来解渴~但是现在奶茶店这么多, 到底哪一家最好喝、性价比最高呢?数据获取
- 一、什么要备份数据库 ?在现实IT世界里,我们使用的服务器硬件可能因为使用时间过长,而发生故障;Windows系列服务器有可能蓝屏或者感染病
- 场景:由于自己的电脑A性能不足,需要转移到一台高性能的主机B上运行python程序,但是该主机不能连接互联网。问题:在个人电脑A上建立了一个
- 一、Go语言实战——自定义集合Set在Go语言中有作为Hash Table实现的字典(Map)类型,但标准数据类型中并没有集合(Set)这种
- 这个问题是如何在一些场景下使用断言表达式,通常会有人误用它,所以我决定写一篇文章来说明何时使用断言,什么时候不用。为那些还不清楚它的人,Py
- 今天从网上看到这个功能,不错啊,以后就可以在文章中,增加这个功能了var re = /<a h
- 简介Python中布尔值(Booleans)表示以下两个值之一:True或False。布尔值在编程中,通常需要知道表达式是 True 还是
- 在Web上使用菜单可以极大地节约页面的空间,同时也比较的符合用户从Windows上继承下来的UI操作体验。在以往的Web页菜单设计中,我们普
- 运行代码时,出现诸如这样的文件的权限有可能出问题,不过更多是路径本身有问题。比如,你的文件名是否正确,路径是否正确,路径后面是不是多了什么奇
- 前言自动化测试中我们存放数据无非是使用文件或者数据库,那么文件可以是csv,xlsx,xml,甚至是txt文件,通常excel文件往往是我们
- 这篇文章主要介绍了python DataFrame转dict字典过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考
- 官网地址需要引入awesome-bootstrap-checkbox.css、font-awesome.css以及font awesome对
- 一、_func 单下划线开头 --口头私有变量1.1、在模块中使用单下划线开头在Python中,通过单下划线_来实现模块级别的私有化,变量除
- vue+element中的表格,直接定位到指定的元素。需求:点击某一个节点,弹窗,直接定位到点击的节点,高亮并显示数据。<el-tab
- <?php $curDomain = $_SERVER['HTTP_HOST']; $strHTML = file_g