Python课程设计 第 12 / 52 篇
闭包函数
Chapter07
任务名称 - 闭包函数
任务简介
- 理解函数名加括号调用函数的方式,并使用这种方式取代多分枝的if与else组合
- 理解名称空间的加载顺序与变量的查找顺序
- 理解全局作用域与局部作用域的的概念,学会在局部修改全局变量
- 理解闭包函数的思路和装饰器的原理以及实现方式
社群话题
Python装饰器的原理是怎么样的
详细说明
给一个函数传参数,最基本的就是给函数加参数,通过参数来传递,然而当这种方式被否决后,我们还可以通过在函数头部定义变量的方式,这就相当于给函数外部包了一层全局作用域,这就是闭包函数的原理。
打卡要求
- 编写装饰器,为多个函数加上认证的功能(用户的账号密码来源于文件)。要求:登录成功一次,后续的函数都无需再输入用户名和密码;注意:从文件中读出字符串形式的字典,可以用以下方式把字典字符串转化成字符串
eval('{"name":"albert","password":"123"}')
- 编写装饰器,为多个函数加上认证功能,要求登录成功一次,在超时时间内无需重复登录,超过了超时时间,则必须重新登录
- 编写日志装饰器,实现功能:一旦某函数执行,则将函数执行时间写入到日志文件中,日志文件路径可以指定。
注意:时间格式的获取
import time
the_time = time.strftime('%Y-%m-%d %X')
print(the_time)