调用isinstance([],list)会在PyCharm IDE中的python 3.8.1的Python控制台中返回TypeError-python bug? 要纠正您的问题,只需执行以下删除操作即可:

我用pytest 5.4.1和python 3.8.1编写测试;我使用的是PyCharm IDE。

脚本中的isinstance([],list)调用返回True,这是正确的;但是,在Python控制台中调用时,isinstance([],list)会生成TypeError(下面的屏幕截图)。这很奇怪...

调用isinstance([],list)会在PyCharm IDE中的python 3.8.1的Python控制台中返回TypeError-python bug?
      
    要纠正您的问题,只需执行以下删除操作即可:

另一方面,在python控制台中,环绕类型返回true,但在脚本中返回false:

调用isinstance([],list)会在PyCharm IDE中的python 3.8.1的Python控制台中返回TypeError-python bug?
      
    要纠正您的问题,只需执行以下删除操作即可:

有人知道为什么会如此不一致吗?这是python中的错误吗?

xoiaaa 回答:调用isinstance([],list)会在PyCharm IDE中的python 3.8.1的Python控制台中返回TypeError-python bug? 要纠正您的问题,只需执行以下删除操作即可:

在代码中的某些地方您做了list = ...(或其他有赋给list的副作用的事情)。

  • 它就像您刚刚发现的那样,隐藏了内置list
  • 无论如何,它不是一个好名字。这是什么清单?

为您的变量使用更好的名称。名称:

  • 不会遮盖实际的list类型
  • 实际上会告诉代码的读者
,

问题是您在IDE中使用名称list分配了一个变量。

list是Python内置类的名称。用该名称创建变量不是很好。

要纠正您的问题,只需执行以下删除操作即可:

del list

这将删除变量list。希望现在您的isinstance()可以正常工作。

本文链接:https://www.f2er.com/2397244.html

大家都在问