Python无法识别namedtup的类型

2024-10-01 13:37:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我怀疑之前有人问过这个问题,但我一直找不到,所以这里是:

在Python上(使用2.7),我创建了一个namedtuple,如下所示:

>>> sgn_tuple = namedtuple('sgnt',['signal','type'])
>>> a = sgn_tuple("aaa","bbb")

然后我想检查t的类型,结果很奇怪:

^{pr2}$

为什么会这样?我希望a被识别为元组类型,但事实并非如此。有什么提示吗?在


Tags: 类型signaltypenamedtuple事实元组bbbtuple
1条回答
网友
1楼 · 发布于 2024-10-01 13:37:05

is不检查类成员身份。is检查两个对象是否具有相同的id

>>> isinstance(a, tuple)
True

而且type(a)不是tuplea是{}的一个子类。在

如果您输入verbose=True,您可以看到它是如何生成的(文本是动态生成以创建类的):

^{pr2}$

这是由Python简单地exec编辑的。我希望这能把事情弄清楚。在

相关问题 更多 >