| |
|
开发:
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学习 24 - 装饰器 、带参数的装饰器、部分解压序列 -> 正文阅读 |
|
[Python知识库]Python学习 24 - 装饰器 、带参数的装饰器、部分解压序列 |
个人学习总结笔记如有不足和错误欢迎指教谢谢 ????????当需要修改一个已经写好的函数的时候? 或者 需要给函数添加一些相同的功能的时候 就需要用到装饰器 装饰器就像 让函数调用函数 从而实现 修改已有函数 或 为函数添加功能 装饰器的定义 ????????本质就是一种函数,为其他函数添加附加的功能 ????????原则:不修改被修饰函数的源代码 ?????????????????? 不修改被修饰函数的调用方式 装饰器的知识储备 ????????装饰器 = 高阶函数 + 函数嵌套 + 闭包 ????????高阶函数: ????????????????函数接收的参数是一个函数名 ????????????????函数的返回值是一个函数名 ????????????????满足以上条件任意一个都可以称之为高阶函数 ????????闭包 ????????????????就是作用域的概念
输出数据为:
上面的例子就是给函数aaa 装一个装饰器 用来给aaa这个函数增加一个显示123这个功能 但是又没有对aaa这个函数本身进行修改 ????????装饰器 其实就是 用一个嵌套的 函数 把现有的 一个独立函数 包裹起来? 这样一来 就可以在嵌套的中间层 添加需要的程序 而且还不用改变现有的函数 以及 现有函数调用的方式 ??????? 还有一种 就是又参数的 装饰器 就像下面的例子 装饰也是可以带入相应的参数 来影响 中间层的 函数执行命令 导致输出的结果不同
输出结果为
可以看出 其实我们只是在原来的 装饰器外面 又套了一层函数 而且让这个函数 return 原来的函数名 然后再把原来@的 装饰器名 改变成 装饰器最外层的函数名 这样就能把这个参数带入了 装饰器中 带参数的装饰器 ????????可以在无参数的装饰器外层再 套一层 函数 这个函数 只是在最初定义的时候 定义所需要的参数个数 的变量名 类型等 ????????然后 这个最外层的 函数 return 就是里面下一层的函数 也就是 无参数的函数 ????????再@的时候 要@外层的函数 并且附带上真实的参数 ps:解压序列
这样比较便利 还有一种用法就是
中间的_承受了 中间所有的 赋值 另外再 python中
还可以这样使用解压序列 非常的方便 ??????????????????????????? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/16 4:20:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |