首页 > 其他分享 >使用多个装饰器

使用多个装饰器

时间:2022-09-18 19:00:27浏览次数:63  
标签:return 函数 多个 make result 使用 装饰 def

2022-09-18

多个装饰器使用的实例:

 1 # 定义一个装饰器
 2 def make_p(func):
 3     print("执行装饰器make_p")
 4 
 5     def inner():
 6         # 对已有函数增加新的功能
 7         result = "<p>" + func() + "</p>"
 8         # 和已有函数保持一致,如果已有函数有返回值,则这里也加上返回值;如果已有函数有参数,那么这里也加上参数。
 9         return result
10 
11     return inner
12 
13 # 定义第二个装饰器
14 def make_div(func):
15     print("执行装饰器make_div")
16     
17     def inner():
18         # 对已有函数增加新的功能
19         result = "<div>" + func() + "</div>"
20         # 和已有函数保持一致,如果已有函数有返回值,则这里也加上返回值;如果已有函数有参数,那么这里也加上参数。
21         return result
22 
23     return inner
24 
25 # 设置装饰器语法糖
26 @make_div
27 @make_p
28 # 原来的函数
29 def content():
30     return "人生苦短,我用python!"
31 
32 if __name__ == '__main__':
33     result = content()
34     print(result)

运行的结果如下:

 

   由结果图可知,多个装饰器同时使用,会先执行内部函数,离原来函数距离最近的装饰器,之后,再执行外层的装饰器。

标签:return,函数,多个,make,result,使用,装饰,def
From: https://www.cnblogs.com/isDaHua/p/16705402.html

相关文章

  • 01三极管的使用
    一、使用场景正常情况下,我们希望通过一个SOC的GPIO来控制某个LED等的亮灭,如下图。  方式1:使用引脚输出3.3V点亮LED,输出0V熄灭LED。方式2:使用引脚拉低到0V......
  • Ubuntu samba的安装及使用方法
    Ubuntusamba的安装及使用方法说明本文仅在Ubuntu系统上进行了安装,centOS系统等存在一定差异,读者可参考其他资源进行分析安装sudoapt-getupdatesudoapt-getinstal......
  • 使用 CSS 的 Glassmorphic 配置文件卡
    使用CSS的Glassmorphic配置文件卡在这篇博客中,我们使用css创建了一个glassmorphic配置文件卡。获取完整的源代码编码扭矩.com版权声明:本文为博主原创文章,遵循......
  • 使用docker-compose创建wordpress博客网站
    1.简述wordpress是一款开源的博客CMS,dockerhub上有着官方的容器镜像,使用docker能够很简单的创建一个wordpress站点,本文简要介绍了如何使用docker-compose来创建。2.......
  • 1-STM32+Air724UG远程升级篇OTA(自建物联网平台)-STM32通过Air724UG使用http或https下
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/ZLAir724UGA/myota.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>......
  • NODE.JS:我如何使用 Heroku 网站托管我的网站
    NODE.JS:我如何使用Heroku网站托管我的网站文章结构:介绍安装工具使用node和bootstrap创建一个基本网站将节点网站推送到heroku虚拟主机介绍Node的一大优点......
  • 使用pymongo管理MongoDB
    基于pymongo的MongoDB系列操作,会不定时补充更新frompymongoimportMongoClientimportpymongoimportdatetime##连接本地MongoDBclient=MongoClient("mongodb:......
  • uni-app中使用jsencrypt
    1.在工具栏的”视图“下打开终端或者ctrl+`2.安装jsencrypt,安装的东西都会在node_module下npmijsencrypt3.在需要加密的文档中引入importJSEncryptfrom'../../n......
  • 使用贪心来解决的一些问题
    使用贪心来解决的一些问题作者:Grey原文地址:博客园:使用贪心来解决的一些问题CSDN:使用贪心来解决的一些问题贪心的使用方法分析业务根据业务逻辑找到不同的贪心策......
  • 使用Android自带文件选择器
    工具类:publicclassUriTofilePath{publicstaticStringgetFilePathByUri(Contextcontext,Uriuri){Stringpath=null;//4.4及之后的......