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

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值