Python中闭包与装饰器如何实现及其应用案例详解?

2026-05-26 20:370阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1351个文字,预计阅读时间需要6分钟。

Python中闭包与装饰器如何实现及其应用案例详解?

一、闭包+闭包相对函数中,嵌套另一个函数,并返回。

代码如下:

pythondef func(name): def inner_func(): return name return inner_func

一、闭包

闭包相当于函数中,嵌套另一个函数,并返回。代码如下:

def func(name): # 定义外层函数 def inner_func(age): # 内层函数 print('name: ', name, ', age: ', age) return inner_func # 注意此处要返回,才能体现闭包 bb = func('jayson') # 将字符串传给func函数,返回inner_func并赋值给变量 bb(28) # 通过变量调用func函数,传入参数,从而完成闭包 >> name: jayson , age: 28

二、装饰器

装饰器:把函数test当成变量传入装饰函数deco --> 执行了装饰操作后,变量传回给了函数test()。比如装饰器效果是test = test-1,test函数经过deco装饰后,调用test其实执行的是 test = test-1。

1、装饰器是利用闭包原理,区别是装饰器在闭包中传入的参数是函数,而不是变量。

注:其实在装饰器中,函数即变量

def deco(func): # 传入func函数。 print('decoration') return func def test(): print('test_func') test = deco(test) # 对函数进行装饰。

阅读全文

本文共计1351个文字,预计阅读时间需要6分钟。

Python中闭包与装饰器如何实现及其应用案例详解?

一、闭包+闭包相对函数中,嵌套另一个函数,并返回。

代码如下:

pythondef func(name): def inner_func(): return name return inner_func

一、闭包

闭包相当于函数中,嵌套另一个函数,并返回。代码如下:

def func(name): # 定义外层函数 def inner_func(age): # 内层函数 print('name: ', name, ', age: ', age) return inner_func # 注意此处要返回,才能体现闭包 bb = func('jayson') # 将字符串传给func函数,返回inner_func并赋值给变量 bb(28) # 通过变量调用func函数,传入参数,从而完成闭包 >> name: jayson , age: 28

二、装饰器

装饰器:把函数test当成变量传入装饰函数deco --> 执行了装饰操作后,变量传回给了函数test()。比如装饰器效果是test = test-1,test函数经过deco装饰后,调用test其实执行的是 test = test-1。

1、装饰器是利用闭包原理,区别是装饰器在闭包中传入的参数是函数,而不是变量。

注:其实在装饰器中,函数即变量

def deco(func): # 传入func函数。 print('decoration') return func def test(): print('test_func') test = deco(test) # 对函数进行装饰。

阅读全文