这两个isinstances()定义有什么区别?

时间:2018-11-19 15:06:43

标签: python python-3.x isinstance

  1. isinstance(list(), type(mylist))

  2. isinstance(mylist, list)

速度上有什么区别吗?我可以看到2更快。

2 个答案:

答案 0 :(得分:3)

如果正确使用,结果将相同。但是您只能使用第二个版本。

不需要创建一个空对象,即list(),也不需要通过type进行额外的函数调用。

您可能还会执行以下操作:

from collections import OrderedDict

array = dict()

res1 = isinstance(OrderedDict(), type(array))  # True
res2 = isinstance(array, OrderedDict)          # False

答案 1 :(得分:1)

第一个效率很低,因为您首先创建一个新的列表对象,然后确定my_list的类型,然后检查它们是否相同。

第二个选项是应该如何使用isinstance函数。