首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

实现函数的输入输出参数的强类型检验

特别是,如果我们开发接口给别人使用的时候,如果没有强类型的校验,别人就不能清晰的知道输入输出的数据结构是什么,报错的时候也比较难定位问题,因此在有些场景下,需要对函数输入输出进行强类型约束。...总结一下,我们的实现方式应该做到如下两个要求: 非侵入式的,尽量避免对业务代码的更改; 实现输入输出参数的强类型校验。 参考FastAPI的实现,我们的实现应该也是采用包装器的形式来实现。...在包装器中实现对目标函数的输入输出校验,下面是一个示例的业务代码: class ClassTool: def run(self, input_text: str = '', text_len:...校验包装器实现 使用包装器实现输入输出参数的校验,具体代码如下: from functools import wraps from inspect import get_annotations from...说明:因为我们的场景下,输入输出都需要是普通的数据,并没有将输入输出转成强类型数据,外部在调用时(通过HTTP接口)还是普通的输入输出

12821

PWM输入输出

CCR值加一,那么占空比将提高1/(ARR+1),ARR越大,可以实现的最小步进越小,分辨率越高,对占空比的调节越精细。...两个通道的CCR都可以单独指定,实现分别调节两个引脚的电平,但变化周期是一致的。 输入捕获 输入捕获(Input Capture)又称 IC。...实现自动化测量,需要配置主从模式。 配置从模式 将TI1FP1信号设置为复位时基单元的触发信号。...总结 CCR寄存器在输入输出中均有应用 CCR 寄存器(Capture/Compare Register,捕获/比较寄存器)在输入和输出中有不同的作用: 输入模式: 在输入模式下,CCR寄存器用于记录定时器捕获输入信号的时间...中断与事件 事件不需要实现中断处理函数,比如在输入捕获中,触发的就是事件,可以通过库函数设置为复位模式,硬件自动复位。

15110
领券