为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

至尊宝的传说 2023-04-14 18:14:18
用type()这种判断变量的方法,结果被鄙视了,不知所以然。>>> n = 911>>> type(n) <type 'int'>>>> type(n) is intTrue
查看完整描述

2 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

实际上还有一种方法是用isinstance
比如:

a = 111isinstance(a, int)True

isinstance 和 type的区别在于:

class A:    passclass B(A):    passisinstance(A(), A)  # returns Truetype(A()) == A      # returns Trueisinstance(B(), A)    # returns Truetype(B()) == A        # returns False

区别就是 对于subclass之类的 type就不行事了


查看完整回答
反对 回复 2023-04-17
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

1、type可以只接收一个参数,打印其未知的所属的类型;而isinstance只能判断是否属于某个已知类型,所以,isinstance效率更高一些

2、isinstance可以判断子类对象是否继承于父类;而type不可以,type只能把类对象识别为instance实例类型,即老式类都是通过instance创建的

所以,type主要用于获取未知变量的类型,isinstance主要用于判断A类是否继承于B类


查看完整回答
反对 回复 2023-04-17
  • 2 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信