首页 > 开发 > Python > 正文

python判断变量类型时,为什么不推荐使用type()方法

2017-09-06 19:39:02  来源:网友分享

用type()这种判断变量的方法,结果老鸟被鄙视了,不知所以然。
求各位讲解:这个问题出在哪里,怎样判断一个变量的类型才是好方法?

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

解决方案

实际上还有一种方法是用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就不行事了

你说的老鸟 应该是这个意思吧? [颤抖ing]