网络编程
位置:首页>> 网络编程>> Python编程>> 最新整理Python中的type和object的示例详解

最新整理Python中的type和object的示例详解

作者:程序员老华  发布时间:2023-08-10 05:21:44 

标签:Python,type,object

本文是在上篇文章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,也就是说,objectTest的超类(或者说基类)。
接下来,你可以再定义一个类:

>>> class subTest(Test):
...     pass

subTest继承了Test,同时,因为Test继承了object,所以也可以说subTest继承了object。在这里涉及到一个重要的知识点,那就是继承具有传递性。如果你仔细观察,你会发现另外一个知识点,那就是:object是所有类的超类(这句话至关重要)。那type是什么呢?它是object的类型(也就是说object是type的实例),同时,object又是type的超类。

&ldquo;type是object的类型,同时,object又是type的超类&rdquo;这句话看起来就充满疑点:那到底是先有object还是先有type呢?其实,&ldquo;先有object和还是type问题&rdquo;就像&ldquo;先有鸡还是先有蛋问题&rdquo;。到底先有谁呢?不急,请继续看:

你要明白这些,先要知道,python是面向对象的语言。在python里面,一切皆为对象

一切皆为对象?这里对于一部分人来说,可能不是很容易理解。这么说吧,在python里,int整形是对象,整数2也是对象,你定义的函数啊,类啊都是对象,你定义的变量也是对象。总之,你在python里能用到的都可以称之为对象。

来源:https://blog.csdn.net/m0_72557783/article/details/128222775

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com