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等类型,就是方便大家定义好参数和返回值的类型。