2024-10-01 13:37:05 发布
网友
我怀疑之前有人问过这个问题,但我一直找不到,所以这里是:
在Python上(使用2.7),我创建了一个namedtuple,如下所示:
namedtuple
>>> sgn_tuple = namedtuple('sgnt',['signal','type']) >>> a = sgn_tuple("aaa","bbb")
然后我想检查t的类型,结果很奇怪:
t
为什么会这样?我希望a被识别为元组类型,但事实并非如此。有什么提示吗?在
a
is不检查类成员身份。is检查两个对象是否具有相同的id
is
id
>>> isinstance(a, tuple) True
而且type(a)不是tuple,a是{}的一个子类。在
type(a)
tuple
如果您输入verbose=True,您可以看到它是如何生成的(文本是动态生成以创建类的):
verbose=True
这是由Python简单地exec编辑的。我希望这能把事情弄清楚。在
exec
is
不检查类成员身份。is
检查两个对象是否具有相同的id
而且}的一个子类。在
type(a)
不是tuple
,a
是{如果您输入
^{pr2}$verbose=True
,您可以看到它是如何生成的(文本是动态生成以创建类的):这是由Python简单地
exec
编辑的。我希望这能把事情弄清楚。在相关问题 更多 >
编程相关推荐