isinstance 与 type的区别和使用
i
s
i
n
s
t
a
n
c
e
\color{#0000FF}{isinstance}
isinstance,可以检测当前值是否属于我们给来的类型isinstance(b, (int, str),逗号前面的是要检测的值,逗号后面的是我们要检测的类型,类型也可也写入很多种,写成元组就好
t
y
p
e
\color{#0000FF}{type}
type,这个就很简洁明了type(a),直接在括号里输入要检测的变量就可告诉你他是什么类型的变量。
二
者
之
间
最
大
的
关
系
是
在
检
测
类
型
时
,
会
不
会
考
虑
子
类
继
承
父
类
也
算
进
去
\color{#0000FF}{二者之间最大的关系是在检测类型时,会不会考虑子类继承父类也算进去}
二者之间最大的关系是在检测类型时,会不会考虑子类继承父类也算进去
isinstance
class acc():
def ame(self):
print('111')
class aml(acc):
def amk(self):
pass
am = aml()
print(isinstance(am,aml))
print(isinstance(am,acc)) #检测一下am和他父类acc的关系
>>>True
True
显然的都是True,因此我们isinstance在检测时会考虑到继承的关系
type
class acc():
def ame(self):
print('111')
class aml(acc):
def amk(self):
pass
am = aml()
print(type(am) is aml)
print(type(am) is acc) #我们使用is来判断实例化的am和类是否会考虑继承
>>>True
False
当程序进行到第二个检测时,打印为False,因此type并不会考虑继承的关系
欢
迎
一
键
三
连
,
不
要
白
嫖
不
要
白
嫖
,
点
个
免
费
的
赞
也
好
,
有
不
懂
的
可
以
随
时
私
信
我
\color{#FF0000}{欢迎一键三连,不要白嫖不要白嫖,点个免费的赞也好,有不懂的可以随时私信我}
欢迎一键三连,不要白嫖不要白嫖,点个免费的赞也好,有不懂的可以随时私信我