definc():c =0definner():c +=1return creturn innerf = inc()print(1, f())print(2, f())# 报错原因,inner中c += 操作是inner函数中的c,因为没有定义inner中的c变量,所以不能用。# 报错内容:UnboundLocalError: cannot access local variable 'c' where it is not associated with a value
definc():c =0# 自由变量,局部变量definner():global cc +=1return creturn innerf = inc()print(1, f())print(2, f())# 报错原因:inner定义了global c,但是python全局中没有c变量# 报错内容:NameError: name 'c' is not defined
definc():global cc =0# 自由变量,局部变量definner():global cc +=1return creturn innerf = inc()print(1, f())print(2, f())# inc中和inner中都必须定义global才能使用# 返回结果:1 1# 返回结果:2 2
defa():nonlocal cc =100print(a())# 报错原因:nonlocal c不是本函数的c,只能向上一层函数找,但是在上一层就是global了,nonlocal不允许在global中使用。# 报错内容:SyntaxError: no binding for nonlocal 'c' found
definc():a =1000 c =0definner():nonlocal cc +=1return creturn innerf = inc()print(1, f())print(2, f())# 此代码主要说明,a没有闭包,因为在嵌套函数inner中没有使用到a
definc():a =1000 c =0definner():nonlocal cc +=1return cdeft():nonlocal aprint(a)print(t.__closure__)return innerreturn tf = inc()print(1, f())print(2, f())# 此代码中,a和c都用到了闭包,因为函数inner用了c,函数t用了a
c =0defa():c =1defb():c =2defc():c =3print(c)# 闭包遵循就近原则,此代码为例,如函数c的c变量注释掉,打印的c就是函数中的c,以此类推。
题目环境: FLAG NEED YOUR 100000000 MONEY flag需要你的100000000元 F12瞅瞅源代码:
if (isset($_POST[password])){
$password $_POST[password];
if (is_numeric($password))
{
echo "password cant be number"
}
elseif ($pas…
系列文章目录
C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 C技能系列
期待你的关注哦!!!
现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everything is for the future of dream we…
Spring Data JPA是Spring框架提供的用于简化JPA(Java Persistence API)开发的数据访问层框架。它通过提供一组便捷的API和工具,简化了对JPA数据访问的操作,同时也提供了一些额外的功能,比如动态查询、分页、排序等。
…
安装扩展
使用Composer安装图像处理类库
composer require topthink/think-image在对应的控制器内引入Image
use think\Image;图片处理之压缩图片大小
public function upload(){$file request()->file(image);// 将前端传过来的图片移动到项目目录下$info $file->…