[英]How do you type hint a function parameter that could be one of several types?
我正在为一些python 2代码添加类型提示,并遇到了一个小问题。 当该返回可能是几种类型之一时,如何提示函数返回的类型?
我正在使用看起来像......的功能
def foo(param):
# do stuff
return dict_
其中param
是一个字符串, dict_
是一个字典,其中的键总是字符串和值,可以是整数或字符串。
我的解决方案是键入提示函数,如下所示,但想检查这是否是正确的策略。
def foo(param):
# type: (str) -> Dict[str, object]
# do stuff
return dict_
你想要一个union(也称为sum类型) Union[str,int]
而不是更通用的object
:
def foo(param):
# type: (str) -> Dict[str,Union[str,int]]
# ...
return dict_
使用object
,您声明字典的值可以是任意类型。 Union[str,int]
意味着它可以是一个int
; 或者它可能是一个str
; 但它不能是float
, list
,或其他dict
,或int
或str
以外的任何str
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.