python(第四天):函数注解

函数注解这种语法出现在 python3.0中(python2.6不支持),当使用它时,它被直接附加到函数对象的__annotations__中.

>>> def func(a:'spam',b:(1,10),c:float)->int:
	return a+b+c

>>> func(1,2,3)
6

如上面代码,对于参数的注解出现在紧随参数名之后的冒号之后;对于返回值,它们编写于紧跟在参数列表之后的一个 ->  之后.

下面可以看到函数对象是如何保存注解的:

>>> func.__annotations__
{'return': <class 'int'>, 'c': <class 'float'>, 'b': (1, 10), 'a': 'spam'}

参数名变成键,注解变量值.使用字典来保存.


使用注解后还可以使用默认参数:

>>> def func(a:'spam'=4,b:(1,10)=5,c:float=6)->int:
	return a+b+c

>>> func(1,2)
9


现在对这种技术的用途还不是很清楚, 只知道在函数装饰器中有应用, 在此记录一下.方便记忆. PS:lambda不能使用注解,因为它限制了它所定义的函数工具.(不明白什么意思,准备看看lamdba)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值