✨ 内容:
闭包(Closure)是Python中一个强大而神秘的概念,它允许函数保留对定义时作用域的访问,即使函数在定义之后在其他作用域中执行。
📚 案例描述:
假设你正在开发一个密码生成器程序,需要根据不同的需求生成不同复杂度的密码。我们将使用闭包来创建多个生成密码的函数,每个函数根据特定的规则生成密码。
🔍 讲解:
password_generator(min_length):这是一个生成器函数,接收一个min_length参数,并返回一个生成密码的闭包函数password_wrapper。
闭包函数:
generate_password(length):在password_wrapper函数内部定义的闭包函数,根据指定长度生成密码。
密码生成器的使用:
创建两个不同强度的密码生成器:strong_password_generator和medium_password_generator。
使用next()函数启动生成器,并使用send()方法发送密码长度,生成并打印密码。
生成器控制流程:
password_wrapper函数中使用while True循环和yield语句实现了生成器的控制流程。
接收到密码长度后,检查是否满足最小长度要求,然后生成并打印密码。