当前位置:   article > 正文

python>=3.5之奇葩from typing import Union

from typing import union

python是个动态类型语言,但是在3以后支持了定义传参和返回类型的写法:

def mytest(a:int)->int:
	return a**2
  • 1
  • 2

通常一个参数和返回值只能是一个类型,在c/c++,java,golang这种静态语言里,也不可能返回两种类型,或者传参使用两种类型,但是在python里可以。

def mytest(a:str or int)->str or int:
  return a*2
  • 1
  • 2

当然这里的or看着非常不舒服,所以在3.5的时候引入了typing模块,使用Uinon的写法:

from typing import Union
def mytest(a:Union[str,int])->Union[str,int]:
  return a*2
  • 1
  • 2
  • 3

反正这个写法极力不推荐,纯粹是给自己找麻烦。这里只是记录下typing,当然还有List,Tuple等类型,就是方便大家定义好参数和返回值的类型。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/171954
推荐阅读
相关标签
  

闽ICP备14008679号