栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python一切皆对象

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python一切皆对象

Python作为动态语言,与其一切皆对象的特性是分不开的。
什么是一切皆对象,就是python中所有的东西都是对象

在python中,一般我们要看一个对象的类型都是用type

基础数据类型如int、str、list、set都是对象

>>>type(int)


>>>type(str)


>>>type(list)


>>>type(set)

我们可以发现所有的基础数据类型都是type类型的,那根据面向对象的思想来说,int、str、list都是type类的实例。但同时int、str、list又能作为数据类实例化变量。

>>>class A:
...    pass

>>>type(A)


我们发现类其实也是一种claasobj的对象
我们都知道类有继承的特性,在python中查看基类(父类)是调__bases__属性

>>>A.__bases__
(,)

我们发现类A其实是默认继承object类的,那type也是一个类,那我们再看type的基类

>>>type.__bases__
(,)
>>>object.__bases__
()
>>>type.__bases__
(,)

我们会发现所有的类包括type最终都是要继承object类

>>>type(object)

>>>type(type)

>>>import time
>>>type(time)

并且object类也是type类的实例对象,就连type自己也是自己的对象。而且我们发现包其实也是一种对象,这也是为什么python的包需要一个__ini__.py的文件

总结下来:

  1. python中一切皆为对象,是因为一切类型都是type这个类的实例
  2. python中所有的类都继承object这个基类,它们既是对象,也能实例化对象
  3. type是类也是对象,底层是通过指针的方式实现自己实例化自己的
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/929209.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号