求各位讲解:这个问题出在哪里,怎样判断一个变量的类型才是好方法?

用type()这种判断变量的方法,结果被鄙视了,不知所以然。

>>> n = 911>>> type(n)
<type 'int'>>>> type(n) is intTrue


至尊宝的传说
浏览 74回答 2
2回答

天涯尽头无女友

实际上还有一种方法是用isinstance比如:a&nbsp;=&nbsp;111isinstance(a,&nbsp;int)Trueisinstance 和 type的区别在于:class&nbsp;A:&nbsp;&nbsp;&nbsp;&nbsp;passclass&nbsp;B(A):&nbsp;&nbsp;&nbsp;&nbsp;passisinstance(A(),&nbsp;A)&nbsp;&nbsp;#&nbsp;returns&nbsp;Truetype(A())&nbsp;==&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;returns&nbsp;Trueisinstance(B(),&nbsp;A)&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;returns&nbsp;Truetype(B())&nbsp;==&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;returns&nbsp;False区别就是 对于subclass之类的 type就不行事了

开心每一天1111

1、type可以只接收一个参数,打印其未知的所属的类型;而isinstance只能判断是否属于某个已知类型,所以,isinstance效率更高一些2、isinstance可以判断子类对象是否继承于父类;而type不可以,type只能把类对象识别为instance实例类型,即老式类都是通过instance创建的所以,type主要用于获取未知变量的类型,isinstance主要用于判断A类是否继承于B类
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python