python一切皆对象

本文深入探讨了Python中的「一切皆对象」概念,指出所有数据类型如int、str、list等都是type类的实例。同时,所有类都继承自object基类,包括type自身。type既是类也是对象,它能够自我实例化。Python中的包也是对象,这解释了为何需要__init__.py文件。通过理解这些基础,可以更好地掌握Python的面向对象编程思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

>>>type(int)
<class 'type'>

>>>type(str)
<class 'type'>

>>>type(list)
<class 'type'>

>>>type(set)
<class 'type'>

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

>>>class A:
...    pass

>>>type(A)
<class 'type'>

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

>>>A.__bases__
(<class 'object'>,)

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

>>>type.__bases__
(<class 'object'>,)
>>>object.__bases__
()
>>>type.__bases__
(<class 'object'>,)

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

>>>type(object)
<class 'type'>
>>>type(type)
<class 'type'>
>>>import time
>>>type(time)
<class 'module'>

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

总结下来:

  1. python中一切皆为对象,是因为一切类型都是type这个类的实例
  2. python中所有的类都继承object这个基类,它们既是对象,也能实例化对象
  3. type是类也是对象,底层是通过指针的方式实现自己实例化自己的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值