该查询进一步参考了this query
因此,我尝试执行以下代码:
from collections import *
tp = namedtuple('emp', 'eid enames mob')
print(tp)
print(emp)我可以执行print(tp),生成的输出是<class '__main__.emp'>。
但当我尝试执行print(emp)时,它会生成以下异常:
Traceback (most recent call last):
File "a.py", line 5, in <module>
print(emp)
NameError: name 'emp' is not defined原因是什么?创建了类emp。但是我不知道如何直接访问它。或者我不能这样做?
所以基本上,我可以创建tp的实例作为tp(),但不能以相同的方式创建emp的实例。为什么?
发布于 2019-11-12 13:56:26
选项1:赋值给返回的类型时,只需重复类型名
tp = emp = namedtuple('emp', 'eid enames mob')选项2:使用声明性样式而不是函数式API
from typing import NamedTuple
class emp(NamedTuple):
eid: str
enames: str
mob: strhttps://stackoverflow.com/questions/58812764
复制相似问题