我尝试将“parameter”类型限制为int或list,如下面的函数“f”。但是,Pycharm在f行(“weewfwef”)没有显示关于错误参数类型的警告,这意味着(参数:[int,list])不正确
在Python中,是否可以将Python函数参数的类型限制为两种可能的类型
def f(parameter : [int, list]):
if len(str(parameter)) <= 3:
return 3
else:
return [1]
if __name__ == '__main__':
f("weewfwef")
在python中,没有这样严格的类型检查,这就是为什么它遵循duck类型https://realpython.com/lessons/duck-typing/
你要找的术语是union type
Union
不限于两种类型。如果有一个值是几种已知类型中的一种,但不一定知道是哪种类型,那么可以使用Union[...]
来封装该信息试试
typing.Union
相关问题 更多 >
编程相关推荐