| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> Python语法:装饰器(decorator) -> 正文阅读 |
|
[Python知识库]Python语法:装饰器(decorator) |
一、定义 装饰器 decorator 或者称为包装器,是对函数的一种包装。 二、作用
三、举例 初始化函数
希望实现功能:在每一个调用 hello 函数的时候,将输出的字符串用 <tag>包住
方法一:自定义wrapper函数 这种方法成功修改了函数 hello 的行为,不过需要修改对 hello的调用。 每一个调用hello 的地方,都要给成调用wrapper,并修改参数列表
输出 方法二:自定义decorator函数 为了不改变对 hello的调用。我们需要得到一个新的函数对象,它修改 hello的行为,并用这个对象对 hello赋值。 从而调用 hello的时候,调用的是扩充行为后的 hello
?这样,只要hello被myDecorator 赋值一次,以后再调用hello 时,就调用的是包装后的函数 输出 方法三:python的decorator python 的装饰器所做的事与方式2类似 它通过语法糖使装饰器看起来更清晰、简介,而不用每次都书写方式2中第7行代码 hello = myDecorator(hello, "div")
本质上,方式2 与 方式3 完成的是同一件事,只不过方式3 比方式2 代码更简洁,方便。 比如,现在要给 hello 函数套上三个标签<body><div><p> 如果用方式2
如果用方式3
在多个装饰器嵌套的情况下,python内置的decorator 结构更清晰。 伪代码:
知识点:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:07:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |