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()
相关推荐
Alice-YUE17 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
云泽80817 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
froginwe1118 小时前
DOM 加载函数
开发语言
Hello eveybody18 小时前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
2301_7950997418 小时前
让 CSS Grid 自适应容器尺寸的动态布局方案
jvm·数据库·python
AI进化营-智能译站18 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
呆萌的代Ma18 小时前
python读取并加载.env的配置文件
python
Muyuan199818 小时前
27.RAG 系统中的上下文充分性判断:从 Chunk 数量、FAISS 距离到 LLM Relevance Gate
python·django·pdf·fastapi·faiss
iCxhust18 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理
莎士比亚的文学花园19 小时前
Linux驱动开发(3)——设备树
开发语言·javascript·ecmascript