【发布时间】:2022-01-24 19:48:27
【问题描述】:
出于“某些原因”,我想允许 python 的省略号“...”(也)作为某个函数(比如说)f 的参数,例如如下:
def f(arg: ?) -> None:
print(arg)
f(...)
我应该为 arg 使用什么注释?
【问题讨论】:
-
请详细说明“一定的原因”
-
这里有很多不必要的上下文。如果我对 f(5) 编码然后是“arg: int”,或者如果我对 f('barfoo') 编码然后是“arg:str”,即对于应该进入 f 的任何内容都有一个相应的类型注释。但是,当参数既不是整数也不是字符串,而是省略号时,我应该使用什么类型注释?
-
pycharm 似乎接受“type(Ellipsis)”,即“def f(arg: type(Ellipsis)):”。但是我怀疑这是正确的解决方案。
标签: python annotations ellipsis