对Python中一切皆对象的理解

1. 了解 type

首先 type函数通常用来判断参数的类型 展示代码:

print(type(1))  	#输出 <class 'int'> 因为 1 是 整型 的实例
print(type("字符串"))	#输出 <class 'str'> 因为 "字符串" 是 str 的实例
print(type(10.1235))	#输出 <class 'float'> 因为 10.1235 是 float 的实例
print(type(True))	#输出 <class 'bool'>因为 True 是 bool 的实例
print(type([]))		#输出 <class 'list'> 因为 [] 是 列表 的实例
print(type(()))		#输出 <class 'tuple'> 因为 () 是 元组 的实例
print(type({}))		#输出 <class 'dict'> 因为 {} 是 字典 的实例

上面的代码对python的基本数据类型进行的判断,每一次赋值都是创建类型的实例,实例又称之为对象!!

2. 结合 type 和 class

使用type判断实例和class所返回的值 附上代码:

class Demo:
    pass
if __name__ == '__main__':
	a = Demo()
	print(type(a)) #输出 <class '__main__.Demo'> a 是 Demo对象的实例
	print(type(Demo))  	# 输出 <class 'type'> 
	print(type(list))	# 输出 <class 'type'> 
	print(type(int))	# 输出 <class 'type'> 
	
	#代码只演示到这里
	# ...... 后续的一些类都是type的实例

先定一个结论,在Python中所有的类都是type类的对象,都是type的实例

3. type class 和 object超类

  • 很多语言中object是所有类的父类,Python中也不例外,所有的类都继承object,上述代码所判断的类型全部都是对象(值是Python的类型的对象,类型是type的对象,大家都是对象),那么object是对象吗?type是对象吗?直接看代码:
class Demo:
    pass
if __name__ == '__main__':
	print(Demo.__bases__) #自定义的类  输出 (<class 'object'>,) 基类是object
	print(type(object)) #输出 <class 'type'> object 是type 的实例
	print(type.__bases__)#输出 (<class 'object'>,) type 的基类 object
	print(type(type)) #输出 <class 'type'> type的实例是type

总结:

1. 自定义类的基类是object(所有类的基类)包括特殊的type
2. object 居然是type的实例(对象)
3. type 的实例(对象)居然是自己(上述结论正确)
4. 结合上述诠释了Python一切皆对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让我在看看

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值