重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇文章为大家展示了Python中怎么实现参数注解,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
创新互联主要从事成都做网站、网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务路南,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
python是动态语言,变量随时可以被赋值,且能赋值为不同的类型,动态语言很灵活,但是这种特性也是弊端;
难发现:由于不做任何类型检查,直到运行期问题才显现出来,或者线上运行时才能暴露出问 题 ;
难使用:函数的使用者看到函数的时候,并不知道你的函数的设计,并不知道应该传入什么类 型的数据;
解决办法:可以通过增加文档Documentation String(帮助文档)和使用函数参数注解两种办法来解决这个弊端;
def show(x: int, y: int) -> int: ''' :param x: :param y: :return: ''' return x * y print(show(10,20)) # 200
函数中间使用 ‘’’ ‘’’包裹起来的注释说明就是参数注解;
参数注解可以避免动态语音的弊端;
可以对函数的参数进行类型注解和对函数的返回值进行类型注解;
参数注解只对函数参数做一个辅助的说明,并不对函数参数进行类型检查;
# 示例1 import inspect def 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',), ('y', ), ('args', ), ('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 + y print(add(1,2)) print(add(2,3)) print(add(2,3)) print(add(2,3))
指那些作用于函数或者返回其它函数的函数,通常只要是可以被当做函数调用的对象就是这个模块的目标;
lru_cache装饰器的作用就是把计算结果保存在内存中,下一次有同一个参数传入的话就不会再次进行计算;
上述内容就是Python中怎么实现参数注解,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。