把Python知识点整理成100道习题,知识点来自两本书:Python基础教程(第3版)和流畅的Python,以后会定期加入更多的习题,大家帮忙点个赞哈,点赞越多,更新越快~
>>> b = 3
>>> def fun(a):
print(a)
print(b)
b = 7
>>> fun(2)
会报错,Python编译函数的定义体时,先做了一个判断,那就是 b 是局部变量,因为在函数中给它赋值了。但是执行 print(b) 时,往上又找不到 b 的局部值,所以会报错。
Python 设计如此,Python 不要求声明变量,但是假定在函数定义体中赋值的变量是局部变量。
2
Traceback (most recent call last):
File "<pyshell#50>", line 1, in <module>
fun(2)
File "<pyshell#49>", line 3, in fun
print(b)
UnboundLocalError: local variable 'b' referenced before assignment