2018-12-23
阅读量:
781
闭包的使用范围
- 由于闭包用作回调函数,它们提供某种数据隐藏。这有助于我们减少全局变量的使用。
- 当我们的代码中的函数很少时,闭包是一个很有效的方式。但是如果我们需要有很多函数时,建议不使用闭包。
# Python program to illustrate
# closures
import logging
logging.basicConfig(filename='example.log', level=logging.INFO)
def logger(func):
def log_func(*args):
logging.info(
'Running "{}" with arguments {}'.format(func.__name__, args))
print(func(*args))
# Necessary for closure to work (returning WITHOUT parenthesis)
return log_func
def add(x, y):
return x+y
def sub(x, y):
return x-y
add_logger = logger(add)
sub_logger = logger(sub)
add_logger(3, 3)
add_logger(4, 5)
sub_logger(10, 5)
sub_logger(20, 10)
输出:






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论