gpt4 book ai didi

python - 为什么在Python中创建namedtuple对象后无法读取 'typename'

转载 作者:太空宇宙 更新时间:2023-11-03 20:08:46 24 4
gpt4 key购买 nike

此查询进一步引用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

这是什么原因。类(class)emp被 build 。但我不知道如何直接访问它。或者我可以不吗?

基本上,我可以创建 tp 的实例如tp()但不是 emp 的实例以同样的方式。为什么?

最佳答案

选项 1:在分配给返回类型时只需重复类型名称

tp = emp = namedtuple('emp', 'eid enames mob')

选项 2:使用声明式风格而不是函数式 API

from typing import NamedTuple

class emp(NamedTuple):
eid: str
enames: str
mob: str

关于python - 为什么在Python中创建namedtuple对象后无法读取 'typename',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58812764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com