最新整理Python中的type和object的示例详解
作者:程序员老华 发布时间:2023-08-10 05:21:44
本文是在上篇文章Python中的type和object,做的补充,希望大家喜欢。
这篇博客主要描述Python的新风格对象(new-style objects),如下:
<type 'type'>和<type 'object'>分别是什么?
用户自定义的类和实例之间是怎么联系的?它们和内置类型又是怎么联系的?
什么是元类(metaclasses)?
New-style表明这篇博客所说的内容只适用于版本为2.2及以上的python。
开始之前
最主要,是理解type和object的区别与联系。我们平时用的最多的是Object,比如你定义一个类时,会继承object:
>>> class Test(object):
... pass
这里你定义了一个自定义类Test
,不难看出,Test
继承了object
,也就是说,object
是Test
的超类(或者说基类)。
接下来,你可以再定义一个类:
>>> class subTest(Test):
... pass
subTest
继承了Test
,同时,因为Test
继承了object
,所以也可以说subTest
继承了object
。在这里涉及到一个重要的知识点,那就是继承具有传递性。如果你仔细观察,你会发现另外一个知识点,那就是:object
是所有类的超类(这句话至关重要)。那type是什么呢?它是object的类型(也就是说object是type的实例),同时,object又是type的超类。
“type是object的类型,同时,object又是type的超类”这句话看起来就充满疑点:那到底是先有object还是先有type呢?其实,“先有object和还是type问题”就像“先有鸡还是先有蛋问题”。到底先有谁呢?不急,请继续看:
你要明白这些,先要知道,python是面向对象的语言。在python里面,一切皆为对象。
一切皆为对象?这里对于一部分人来说,可能不是很容易理解。这么说吧,在python里,
int
整形是对象,整数2
也是对象,你定义的函数啊,类啊都是对象,你定义的变量也是对象。总之,你在python里能用到的都可以称之为对象。
来源:https://blog.csdn.net/m0_72557783/article/details/128222775


猜你喜欢
- 在windows下安装配置Ulipad今天推荐一款轻便的文本编辑器Ulipad,用来写一些小的Python脚本非常方便。Ulipad下载地址
- 本文实例为大家分享了python Tkinter版学生管理的具体代码,供大家参考,具体内容如下Tkinter是python自带的UI包,无需
- 生产定制一个彩条标签。首先导入:import matplotlib.pyplot as pltimport numpy as npfrom
- 人在学校,身不由己。总有一些奇奇怪怪的学习任务,需要我们刷够一定的时长去完成,但这很多都是不太令人感兴趣的文字或是视频,而这些课都有共同的特
- python使用utf8编码,mysql也是utf8编码,是什么问题?后来查了一下,使用一个简单的办法即可:vsql = "ins
- 本文实例讲述了js实现随屏幕滚动的带缓冲效果的右下角广告代码。分享给大家供大家参考。具体如下:一个随屏幕自动滚动的右下角广告代码,这里请注意
- 字符串在Python内部的表示是Unicode编码,因此,在做编码转换时,通常需要以Unicode作为中间编码,即先将其他编码的字符串解码(
- 本文实例为大家分享了js选项卡切换的具体代码,可以手动切换,另设置定时器可使其自动切换,供大家参考,具体内容如下效果如图:具体代码:<
- 案例package mainimport ( _ "github.com/go-sql-driver/mysql&q
- 以下代码是基于python3.5.0编写的import pandasfood_info = pandas.read_csv("fo
- 当我们花费大量的精力训练完网络,下次预测数据时不想再(有时也不必再)训练一次时,这时候torch.save(),torch.load()就要
- Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库。许多Python的原生系统已经开始使用urllib3。Urlli
- 首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,
- function nohtml(str) dim re Set re=new 
- set转成list方法如下: list转成set方法如下:s = set('12342212') &n
- 前言在本文中,我将展示如何将对象从一个图像添加到另一个图像。为此,我们需要:1.背景图像;2.对象3.对象的mask(mask为黑色,其他空
- 问:如何给导入文件加上时间戳标记?答:请参考下文中介绍的两种方法:1.在DOS下从系统获得时间戳利用Dos命令取得时间戳:C:\>ec
- 目录为什么使用requests:模拟get请求:模拟请求头部信息模拟post请求requests上传文件requests设置代理time模块
- cv的xdm可以直接翻到 需求 和 代码 用,想看中间的分析就老实往下看吧little 背景最近在做毕设,需要将几百篇整体结构差不多的文章中
- python numpy 中linspace函数numpy提供linspace函数(有时也称为np.linspace)是python中创建数