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}{欢迎一键三连,不要白嫖不要白嫖,点个免费的赞也好,有不懂的可以随时私信我} 欢迎一键三连,不要白嫖不要白嫖,点个免费的赞也好,有不懂的可以随时私信我