python函数错误
来源:互联网 发布:仿百度搜索源码 编辑:程序博客网 时间:2024/06/05 02:03
---
def fun1():
num = 3
while True:
a = int(input("请输入: "))
if a == 1:
fun2(num)
elif a ==2:
fun3(num)
else:
return
def fun2(num):
print("------", num)
del num #删除的只是本地符号表中的num
'''
1.当一个函数被调用时,实参会被引入到该函数的本地符号表
2.函数中变量查找顺序: (被调)当前函数本地符号表 --> 主调函数本地符号表 --> 全局符号表 --> 内置名称表
3.因而这里删除的只是函数fun2本地符号表中的num,并没有真正删除num --- 函数fun1本地符号表中num
4.解决:
1.使用global或nonlocal关键字
'''
print("删除执行完毕")
def fun3(num):
print(num, "------")
fun1()
---
再来看一个相同的错误(错误原因:红框中内容)
num = 3
def test():
del num #UnboundLocalError: local variable 'num' referenced before assignment
test()
0 0
- python函数错误分析
- python函数错误
- python核心编程七——错误和异常,函数
- python学习之匿名函数和UnboundLocalError错误
- Python错误
- python错误
- python错误
- python错误
- Python错误
- 错误函数
- 函数错误
- python函数
- python 函数
- python 函数
- Python 函数
- python 函数
- PYTHON函数
- python 函数
- sdut 3469 深度优先搜索练习之神奇的矩环
- 181. Employees Earning More Than Their Managers
- Java初始化顺序
- Mysql中的联合索引、前缀索引、覆盖索引
- LIBSVM在Matlab下的使用
- python函数错误
- 腾讯课堂笔记day1+day2
- docker实用命令--未完待续
- 产品经理之互联网产品的常见商业模式
- java异常的总结
- linux下安装Nginx
- 传统实现线程的俩种方式-笔记整理1
- 部分关键字
- logistic回归