Python 3.x 是否存在不正确的行为?
下面是调试控制台的输出Python 3.x 是否存在不正确的行为?,python-3.x,isinstance,Python 3.x,Isinstance,下面是调试控制台的输出 self.functionList = [regression(2)] self.functionList Out[1]: [<regression at 0x2530370a2c8>] type(self.functionList) Out[2]: list isinstance(type(self.functionList), list) Out[3]: False type(self.functionList) == list Out[4]: True
self.functionList = [regression(2)]
self.functionList
Out[1]: [<regression at 0x2530370a2c8>]
type(self.functionList)
Out[2]: list
isinstance(type(self.functionList), list)
Out[3]: False
type(self.functionList) == list
Out[4]: True
import typing
isinstance(type(self.functionList), typing.List)
Out[16]: False
self.functionList=[回归(2)]
自我功能列表
Out[1]:[]
类型(self.functionList)
Out[2]:列表
isinstance(类型(self.functionList)、列表)
Out[3]:False
类型(self.functionList)=列表
Out[4]:正确
导入键入
isinstance(类型(self.functionList),类型.List)
Out[16]:假
我很困惑为什么isinstance
函数返回False
,即使变量functionList
显然是类型list
的实例
isinstance
行为有什么问题?您在比较错误的行为。试试这个代码
import typing
isinstance(self.functionList, typing.List)
对于
isinstance
方法,将对象与预期类型进行比较。有关更多信息,请参阅。isinstance(类型(self.functionList),列表)
检查self.functionList
的类型是否为列表的实例。只有self.functionList
本身是list
的一个实例isinstance(self.functionList,list)
应该是True
。这是否回答了您的问题?谢谢对我来说,那是一个相当愚蠢的错误。