热线电话:13121318867

登录
2018-12-23 阅读量: 781
闭包的使用范围

  1. 由于闭包用作回调函数,它们提供某种数据隐藏。这有助于我们减少全局变量的使用。
  2. 当我们的代码中的函数很少时,闭包是一个很有效的方式。但是如果我们需要有很多函数时,建议不使用闭包。

# 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.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子