Python 高级语法

闭包

  • 概念:双重函数嵌套,内层函数可以访问外层函数的变量。
  • 基本语法
bash 复制代码
def 外部函数名(外部变量):

    def 内部函数名():

        函数体               #可使用外部函数的变量

    return 内部函数名

装饰器

  • 概念:特殊的闭包,无需改动目标函数的源代码,即可为其增加新功能。
  • 应用场景:希望给 work () 函数增加俩功能:
  • 1.在调用 work 前输出 "高效学习知识"
  • 2.在调用 work 之后输出 "享受人生"
python 复制代码
def work():

    print("努力工作")
  • 装饰器实现
bash 复制代码
def work():

    print("努力工作")

def outer(func):

    def inner():

        print("高效学习知识")

        func()

        print("享受人生")

    return inner

if __name__ == "__main__":

    fn = outer(work)

    fn()
相关推荐
蒋星熠11 分钟前
Rust 异步生态实战:Tokio 调度、Pin/Unpin 与零拷贝 I/O
人工智能·后端·python·深度学习·rust
Warren9826 分钟前
公司项目用户密码加密方案推荐(兼顾安全、可靠与通用性)
java·开发语言·前端·javascript·vue.js·python·安全
·白小白34 分钟前
【数据结构】——栈(Stack)的原理与实现
c语言·开发语言·数据结构
忆~遂愿1 小时前
Python实战教程:PDF文档自动化编辑与图表绘制全攻略
python·pdf·自动化
野犬寒鸦1 小时前
Java Stream API 中常用方法复习及项目实战示例
java·服务器·开发语言·数据库
wwww.bo1 小时前
数据分析与可视化
python·信息可视化·数据分析
万粉变现经纪人2 小时前
何解决PyCharm中pip install安装Python报错ModuleNotFoundError: No module named ‘json’问题
python·pycharm·json·beautifulsoup·scikit-learn·matplotlib·pip
q567315232 小时前
使用reqwest+select实现简单网页爬虫
开发语言·爬虫·golang·kotlin