【问题标题】:typeError: isinstance() arg 2 must be a type or tuple of types >>>typeError: isinstance() arg 2 必须是类型或类型的元组 >>>
【发布时间】:2013-01-18 19:39:57
【问题描述】:
>>> names=['jill','jack']
>>> isinstance(names,list)
Traceback (most recent call last):
  File "<pyshell#291>", line 1, in <module>
    isinstance(names,list)
TypeError: isinstance() arg 2 must be a type or tuple of types
>>> 

我错过了什么吗?

【问题讨论】:

  • isinstance(names, __builtins__.list) 可以工作!!并且“不要”使用python保留的此类关键字!您还可以添加globals()['list'] 返回的内容吗??
  • 谢谢你们!!我正在尝试 headfirst python 中给出的示例。无论如何感谢您的及时回复。
  • globals()['list'] ('rango', 26, 'murphy', 22)..

标签: python


【解决方案1】:

如果您不小心弄乱了模型中的外键字段语法,也会发生这种情况。编写外键字段时,可以有:

ModelName

或:

'app_name.ModelName'

但你不能拥有:

'ModelName'

很难学会这一点。

【讨论】:

    【解决方案2】:

    但这适用于 Python (v3.7.1:260ec2c36a, Oct 20 2018, 14:05:16) [MSC v.1915 32 bit (Intel)] on win32:

    >>> names=['jill', 'jack']
    >>> isinstance(names, list)
    True
    

    【讨论】:

      【解决方案3】:

      应用这个:

      if isinstance(names, type(list)):
      

      【讨论】:

      • 宁可if isinstance(names, type([])):
      • type(list) 返回元类型 type。为什么要使用它?
      【解决方案4】:

      您通过分配给同名的局部变量来践踏list。不要那样做。

      【讨论】:

        猜你喜欢
        • 2019-04-26
        • 1970-01-01
        • 2019-11-28
        • 2021-10-12
        • 1970-01-01
        • 1970-01-01
        • 2021-11-14
        • 1970-01-01
        • 2013-06-03
        相关资源
        最近更新 更多