问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

python的type和object之间是怎么一种关系

提问网友 发布时间:2022-04-20 10:47
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
2个回答
懂视网 回答时间:2022-05-10 13:35
1、节选自Python Documentation 3.5.2的部分解释

Objects are Python’s abstraction for data. All data in a Python program is represented by objects or by relations between objects. (In a sense, and in conformance to Von Neumann’s model of a “stored program computer,” code is also represented by objects.)

对象是Python对数据的抽象。 Python程序中的所有数据都由对象或对象之间的关系表示。(在某种意义上,并且符合冯·诺依曼的“存储程序计算机”的模型,代码也由对象表示的)。

Every object has an identity, a type and a value. An object’s identity never changes once it has been created; you may think of it as the object’s address in memory. The ‘is‘ operator compares the identity of two objects; the id() function returns an integer representing its identity.

每个对象都有一个标识,一个类型和一个值。 对象的身份一旦创建就不会改变; 你可以把它看作内存中的对象地址。'is'运算符比较两个对象的标识; id()函数返回一个表示其身份的整数。

An object’s type determines the operations that the object supports (e.g., “does it have a length?”) and also defines the possible values for objects of that type. The type() function returns an object’s type (which is an object itself). Like its identity, an object’s type is also unchangeable.

对象的类型决定对象支持的操作(例如,“它有长度吗?”),并且还定义该类型对象的可能值。type()函数返回一个对象的类型(它是一个对象本身)。与它的身份一样,对象的类型也是不可改变的。

2、Pyhtml的解释:

object:

class object
 The most base type

type:

class type(object)
 type(object_or_name, bases, dict)
 type(object) -> the object's type
 type(name, bases, dict) -> a new type

关于Python的object和type详细介绍

从上面三个图可以看出,对象obeject是最基本的类型type,它是一个整体性的对数据的抽象概念。相对于对象object而言,类型type是一个稍微具体的抽象概念,说它具体,是因为它已经有从对象object细化出更具体抽象概念的因子,这就是为什么type(int)、type(float)、type(str)、type(list)、type(tuple)、type(set)等等的类型都是type,这也是为什么instance(type, object)和instance(object, type)都为True的原因,即类型type是作为int、float等类型的整体概念而言的。那么,为什么issubclass(type, object)为True,而issubclass(object, type)为Flase呢?从第二张图,即从继承关系可以看到,type是object的子类,因此前者为True,后者为False。若从Python语言的整体设计来看,是先有对象,后有相对具体的类型,即整体优先于部分的设计思想。

如果从更加本质的视角去看待这些问题的话,就要从Python Documentation-->3. Data Model-->3.1 Objects,values and types找原因了[请参考Python官方标准库],从标准库里可以看到:

  • object是Python对数据的抽象,它是Python程序对数据的集中体现。

  • 每个对象都有一个标识,一个类型和一个值。

  • 对象的类型决定对象支持的操作。

  • 某些对象的值可以更改。 其值可以改变的对象称为可变对象;对象的值在创建后不可更改的对象称为不可变对象。

  • 因此,从Python整体设计体系来看的话,就是先有对象,再有标识、类型和值,接着是对对象的操作等等,这也就解释了图3的结果形成的原因了。

    热心网友 回答时间:2022-05-10 10:43
    object 和 type的关系很像鸡和蛋的关系,先有object还是先有type没法说,obejct和type是共生的关系,必须同时出现的。

    在看下去之前,也要请先明白,在Python里面,所有的东西都是对象的概念。

    在面向对象体系里面,存在两种关系:
    - 父子关系,即继承关系,表现为子类继承于父类,如『蛇』类继承自『爬行动物』类,我们说『蛇是一种爬行动物』,英文说『snake is a kind of reptile』。在python里要查看一个类型的父类,使用它的__bases__属性可以查看。
    - 类型实例关系,表现为某个类型的实例化,例如『萌萌是一条蛇』,英文说『萌萌 is an instance of snake』。在python里要查看一个实例的类型,使用它的__class__属性可以查看,或者使用type()函数查看。

    本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

    相关推荐
    • 关于Python的object和type详细介绍

      关于Python的object和type详细介绍

      关于Python的object和type详细介绍:1、节选自Python Documentation 3.5.2的部分解释Objects are Pythons abstraction for data. All data in a Python program is represented by objects or by relations between objects. (In a se
      查看详情
    python里type(+ 1E10) python type函数包含在哪个模块 关于python的type函数问题 python脚本中的_metaclass_= type是什么意思? matlab里面有没有像python中的type()函数? python中type()函数的问题 python中的元类是什么,它们用于什么? python这个type命令怎么回事 python type()函数的问题 python type()函数问题 python type函数没有 python中print type是什么意思 python的type是什么 Python中type(1)是什么意义? python 中的type 本人银行卡销户了 十年前网上转账记录可以查到吗? 银行十年时间的流水账能查出来吗? 银行能查出几年前的交易记录吗? 请问一下银行里的交易记录十年前的能查到吗? 银行卡注销了还可以查询到十年前的交易记录吗? python type函数没有 Python 的 type 和 object 之间是怎么一种关系 2019年农历六月份乔迁选哪日好 请问2019年农历六月哪天搬家好? 请问19年阳历6月份哪天搬家好 2019年搬家黄道吉日哪天好? 2021搬家有什么好日子? 求高手指点搬家吉日 2019年农历腊月初九搬家,好吗?这是岁破吗?请你... 我农历的六月哪日搬家好 二零一久年农历六月初九适合开店的日子吗 为什么农历六月不能摆结婚酒、新宅入伙酒之类的?这... 农历2019年腊月初九搬家好吗?我属猴39 媳妇属狗37 2019年6月搬家吉日吉时? 农历六月中什么时候适合搬家 搬家黄道吉日有哪些(2019年9月) 2019年农历十月初九搬家好吗 2019年农历十月初九搬家好不 2019*9月本月农历最好的搬家是那一天 6月搬家黄历
    Top