繁体   English   中英

如何键入提示函数参数,该参数可能是几种类型之一?

[英]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 ; 但它不能是floatlist ,或其他dict ,或intstr以外的任何str

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM