装饰器嵌套嵌套三层的原因
2021/7/3 23:21:47
本文主要是介绍装饰器嵌套嵌套三层的原因,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
遇到的问题:当函数体需要传参时,但是传参列表不能改动时(如下图)
下方报错原因:
如上图,首先内层的形参列表(*args,**kwargs)是要与被装饰函数test1的列表进行适应的,如果写在里面,那么将会报错
这种情况下,就采用传参的第二种方式,通过闭包进行传参(第一种是直接在当前函数传入形参)
那么我包第二层count_time(func),然后传参可不可以,结果如下,由于语法糖的特性,导致这里的参数也不能改
最终,只能选择包第三层,而第三层是能够接受所有参数的,之所以一二层不穿是因为固定用法,第三层就没这个限制了
这篇关于装饰器嵌套嵌套三层的原因的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略