Kyl*_*yle 7 python ellipsis type-hinting python-3.x
如何为需要文字Ellipsis(或...)作为参数的函数指定类型提示?与 类比None,我很想写这样的东西:
def f(x: Ellipsis):
return
f(Ellipsis)
Run Code Online (Sandbox Code Playgroud)
mypy然而,如果我运行这个,我会得到:
1: error: Variable "builtins.Ellipsis" is not valid as a type
Run Code Online (Sandbox Code Playgroud)
mypy对以下内容感到满意:
import builtins
def f(x: builtins.ellipsis):
return
f(Ellipsis)
Run Code Online (Sandbox Code Playgroud)
但这在运行时失败:
AttributeError: module 'builtins' has no attribute 'ellipsis'.
Run Code Online (Sandbox Code Playgroud)
根据jsbueno的建议,从 python 3.10 开始,以下内容有效:
from types import EllipsisType
def f(x: EllipsisType):
return
f(Ellipsis)
Run Code Online (Sandbox Code Playgroud)