python3 typing 返回结果中出现None 或者是参数有两个或两个以上的数据类型
如下所示:def foo(x:int)->str:
if x==1:
return 'good'
else:
return None
以上方法,会返回两个值,一种是字符串类型,一种是None。怎么用typing表示呢?
解决方法:
从python3.5版开始,Python通过typing模块支持类型注释。
可以使用Union来类型注释import typing
def foo(x:int)->typeing.Union[str,None]:
if x==1:
return 'good'
else:
return None
或者是使用type.Optional [something]提示import typing
def foo(x:int)->typing.Optional[str]=None:
if x==1:
return 'good'
else:
return None