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()
相关推荐
rit84324992 分钟前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab
开源技术4 分钟前
Python GeoPandas基础知识:地图、投影和空间连接
开发语言·ide·python
hedley(●'◡'●)7 分钟前
基于cesium和vue的大疆司空模仿程序
前端·javascript·vue.js·python·typescript·无人机
Cult Of8 分钟前
Alicea Wind的个人网站开发日志(2)
开发语言·python·vue
我找到地球的支点啦13 分钟前
通信扩展——扩频技术(超级详细,附带Matlab代码)
开发语言·matlab
啊阿狸不会拉杆13 分钟前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
wangsir.30 分钟前
测试之自动化测试常用函数
python·测试
微小冷32 分钟前
Rust异步编程详解
开发语言·rust·async·await·异步编程·tokio
铁蛋AI编程实战34 分钟前
MemoryLake 实战:构建超长对话 AI 助手的完整代码教程
人工智能·python·microsoft·机器学习
A9better36 分钟前
C++——不一样的I/O工具与名称空间
开发语言·c++·学习