【发布时间】:2023-04-04 03:58:01
【问题描述】:
从输入参数(列表)返回项目的函数的最佳类型提示是什么?
函数如下:
def ask_mcq(title: str, prompt: str, options: list) -> ???:
...snip...
v = tk.IntVar()
for i, option in enumerate(options):
tk.Radiobutton(root, text=option, variable=v, value=i).pack(anchor="w")
...snip...
return options[v.get()]
我尝试检查其他问题,例如this one,但似乎没有一个人具体回答了这个问题。我不是专家。
编辑:通过阅读 cmets 和答案,我现在意识到,在我要求用户选择一个选项的情况下,这个问题并没有真正的意义。最好返回一个字符串并在之后处理它。我接受了@balderman 的回答,因为它最适用于这种不太可能的情况。
【问题讨论】:
-
列表可以容纳哪些类型?
-
@balderman 我试图使其通用,因此它可以容纳列表可以容纳的任何内容。编辑:这是糟糕的编程吗?
-
好的 - 请参阅下面的答案
-
@balderman 谢谢你的回答。所以我猜如果我不知道列表将包含的项目类型,那么我真的不能输入提示吗?这是否意味着函数编码错误?编辑:错字
-
这取决于您尝试解决的问题。大多数情况下,列表不包含“任何内容”,因此如果您在编写代码时知道实际类型 - 使用它们会更好(而不是
Any)
标签: python python-3.x return-type type-hinting