python: 省略号的注释是函数的可能参数
python: annotation for ellipsis to be a possible argument of a function
出于“某些原因”,我想允许 python 的省略号“...”(也)成为某个函数(比方说)f 的参数,例如如下:
def f(arg: ?) -> None:
print(arg)
f(...)
我应该为 arg 使用什么注释?
...
是 Ellipsis
class 的一个实例,所以你可以这样做:
def f(arg:Ellipsis) -> None:
# your code
由于只有一个 class 实例,您可能希望将它与其他一些类型结合使用。否则为什么要有一个参数(是否可以通过临时设置一个不可用的类型来检测所有对函数的调用f
)
看来(参见 python 文档:https://docs.python.org/3/library/constants.html#Ellipsis)
from types import EllipsisType
def f(arg: EllipsisType):
print(arg)
f(...) # or alternatively f(Ellipsis)
这里是正确的解决方案(即注释省略号本身)
出于“某些原因”,我想允许 python 的省略号“...”(也)成为某个函数(比方说)f 的参数,例如如下:
def f(arg: ?) -> None:
print(arg)
f(...)
我应该为 arg 使用什么注释?
...
是 Ellipsis
class 的一个实例,所以你可以这样做:
def f(arg:Ellipsis) -> None:
# your code
由于只有一个 class 实例,您可能希望将它与其他一些类型结合使用。否则为什么要有一个参数(是否可以通过临时设置一个不可用的类型来检测所有对函数的调用f
)
看来(参见 python 文档:https://docs.python.org/3/library/constants.html#Ellipsis)
from types import EllipsisType
def f(arg: EllipsisType):
print(arg)
f(...) # or alternatively f(Ellipsis)
这里是正确的解决方案(即注释省略号本身)