Python 类型比较: type 和 isinstance

OLD ( 不推荐的方式)

  • if type(obj) == type(0) …
  • if type(obj) == types.IntType…

Better:

  • if type(obj) is type(0) …

Even Better:

  • if isinstance(obj, int)…
  • if isinstance(obj, (int, long))…
  • if type(obj) is int…

注意:

尽管 isinstance() 很灵活,但它没有执行 "严格匹配" 比较, 如果 obj 是一个给定类型的实例或者子类的实例,也会返回 True.
如果想进行严格匹配,仍需要使用 is.

你可能感兴趣的:(Python学习笔记)