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.简单来说的话如果只是调用的话不需要额外的做出声明。

最新文章

  1. android端,webview内url跳转到app本地
  2. mysql行锁和表锁
  3. C#中文和UNICODE编码转换
  4. python(27)requests 爬取网页乱码,解决方法
  5. 测试框架Mockito使用笔记
  6. IOS 作业项目(4)步步完成 画图 程序(中续)
  7. Sql Server触发器案例(初学者学习案例)
  8. Eliza Doolittle lyrics Big City
  9. .net mvc 防止 xss 与 CSRF
  10. hdu 5105
  11. Css静态进度条
  12. YII 常用路径总结
  13. O(nlogn)算法,最长上升子序列,,非动规
  14. MyBatis报错:Caused by: java.lang.NumberFormatException: For input string: "XX"
  15. 跟我一起写Makefile(转)
  16. 夜神模拟器调试web APP
  17. deepCopy深拷贝
  18. 家庭记账本之微信小程序(六)
  19. Go Example--defer
  20. 内置函数之sorted,filter,map

热门文章

  1. win10 再次重装系统
  2. 通过 sass-resources-loader 全局注册 Sass/Less 变量
  3. Python-sys模块-61
  4. iOS蓝牙开发之iBeacon技术
  5. scrapy之环境安装
  6. node.js介绍和npm的使用
  7. 你不知道的JavaScript——第一章:作用域是什么?
  8. python之路-列表、元组、range
  9. css & clearfix & clear-fixed
  10. CSS 的三种样式 内联 内部 外部