本篇文章为大家展示了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.使用参数注解的好处
# 示例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', <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 + y
print(add(1,2))
print(add(2,3))
print(add(2,3))
print(add(2,3))上述内容就是Python中怎么实现参数注解,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。