python>=3.5之奇葩from typing import Union

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

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

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

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

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

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

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

你可能感兴趣的:(python)