Python之参数注解

编程入门 行业动态 更新时间:2024-10-28 18:29:19

Python之参数<a href=https://www.elefans.com/category/jswz/34/1768912.html style=注解"/>

Python之参数注解

1.函数定义的弊端

  • python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端;

  • 难发现:由于不做任何类型检查,直到运行期问题才显现出来,或者线上运行时才能暴露出问 题 ;

  • 难使用:函数的使用者看到函数的时候,并不知道你的函数的设计,并不知道应该传入什么类 型的数据;

  • 解决办法:可以通过增加文档Documentation String(帮助文档)和使用函数参数注解两种办法来解决这个弊端;

2.什么是参数注解

def show(x: int, y: int) -> int:''':param x::param y::return:'''return x * y
print(show(10,20)) # 200
  • 函数中间使用 ‘’’ ‘’'包裹起来的注释说明就是参数注解;

3.使用参数注解的好处

  • 参数注解可以避免动态语音的弊端;
  • 可以对函数的参数进行类型注解和对函数的返回值进行类型注解;
  • 参数注解只对函数参数做一个辅助的说明,并不对函数参数进行类型检查;

4.Functools模块的使用

# 示例1
import inspectdef add(x:int, y:int, *args,**kwargs) -> int:return x + y
sig = inspect.signature(add)
print(sig) # (x: int, y: int, *args, **kwargs) -> int
print(sig.parameters) # OrderedDict([('x', <Parameter "x: int">), ('y', <Parameter "y: int">), ('args', <Parameter "*args">), ('kwargs', <Parameter "**kwargs">)])# 示例2: partial偏函数
from functools import partial
def add(x, y):return x + y
partial_add = partial(add, x=1)
result = partial_add(y=2)
print(result)   #输出: 3# lru_cache
from functools import lru_cache
import time@lru_cache()
def add(x, y):time.sleep(10)return x + yprint(add(1,2))
print(add(2,3))
print(add(2,3))
print(add(2,3))如果你依然在编程的世界里迷茫,
不知道自己的未来规划,
对python感兴趣,
这里推荐一下我的学习交流圈QQ群:895 797 751,
里面都是学习python的,
  • 指那些作用于函数或者返回其它函数的函数,通常只要是可以被当做函数调用的对象就是这个模块的目标;
  • lru_cache装饰器的作用就是把计算结果保存在内存中,下一次有同一个参数传入的话就不会再次进行计算;

更多推荐

Python之参数注解

本文发布于:2023-07-28 22:04:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1335075.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:注解   参数   Python

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!