我对为什么会收到此错误一无所知。
原文由 gizgok 发布,翻译遵循 CC BY-SA 4.0 许可协议
我对为什么会收到此错误一无所知。
原文由 gizgok 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如人们所说, issubclass()
的 2 个参数应该是类,而不是对象的实例。
考虑这个样本:
>>> issubclass( 1, int )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: issubclass() arg 1 must be a class
>>> issubclass( type(1), int )
True
>>> isinstance( 1, int )
True
关键是使用 type()
函数来获取与 issubclass()
函数一起使用的实例类型,正如另一条评论中所述,这相当于调用 isinstance()
原文由 Adrien Plisson 发布,翻译遵循 CC BY-SA 2.5 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答961 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
这意味着您不提供类作为
issubclass()
的参数。两个参数都必须是类。第二个参数也可以是类的元组。如果您显示引发此错误的代码,我们可以进一步提供帮助。
从 文档 中: