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()
相关推荐
Re.不晚2 分钟前
JAVA进阶之路——无奖问答挑战3
java·开发语言
代码游侠3 分钟前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
㓗冽11 分钟前
60题之内难题分析
开发语言·c++·算法
dingdingfish19 分钟前
Bash学习 - 第3章:Basic Shell Features,第5节:Shell Expansions
开发语言·学习·bash
Olamyh20 分钟前
【 超越 ReAct:手搓 Plan-and-Execute (Planner) Agent】
python·ai
rainbow688920 分钟前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
deepxuan21 分钟前
Day7--python
开发语言·python
曲幽31 分钟前
FastAPI不止于API:手把手教你用Jinja2打造动态Web页面
python·fastapi·backend·jinja2·full stack·template engine·web development
禹凕36 分钟前
Python编程——进阶知识(多线程)
开发语言·爬虫·python
Ulyanov40 分钟前
基于Pymunk物理引擎的2D坦克对战游戏开发
python·游戏·pygame·pymunk