Python FAQ
2024-10-19 00:20:31
1、在函数a中又定义了函数sum,内部函数sum可以引用外部函数a的参数n,不能这样写n=n+1,两个会出错,这样写s=s+n可以
解决:
def a():
n = 1
def sum():
nonlocal n
n=n+1
return n
return sum
f=a()
print(f(),f(),f())
做些笔记:
1.内部函数一般无法修改外部函数的参数
2.想要修改需要声明 nonlocal
3.内部函数可以修改外部list中的元素
4.对于a来说n是局部变量,对于sum来说n是非全局的外部变量。内部函数若想修改外部函数中的外部变量,可以用nonlocal声明。而如果只是使用外部函数的外部变量,是不会报错的。
5.简单来说的话如果只是调用的话不需要额外的做出声明。
最新文章
- android端,webview内url跳转到app本地
- mysql行锁和表锁
- C#中文和UNICODE编码转换
- python(27)requests 爬取网页乱码,解决方法
- 测试框架Mockito使用笔记
- IOS 作业项目(4)步步完成 画图 程序(中续)
- Sql Server触发器案例(初学者学习案例)
- Eliza Doolittle lyrics Big City
- .net mvc 防止 xss 与 CSRF
- hdu 5105
- Css静态进度条
- YII 常用路径总结
- O(nlogn)算法,最长上升子序列,,非动规
- MyBatis报错:Caused by: java.lang.NumberFormatException: For input string: ";XX";
- 跟我一起写Makefile(转)
- 夜神模拟器调试web APP
- deepCopy深拷贝
- 家庭记账本之微信小程序(六)
- Go Example--defer
- 内置函数之sorted,filter,map