首先 说一下:函数的定义片段,解释器不会执行其中的代码,待到调用时才会执行。
def funtemp1():
bar()
def bar():
print("bar")
所以上例不会报错,这称为风湿理论。
根据作用范围不同,变量分为全局变量和局部变量,局部变量又可以在逻辑上划分层级
name="全局变量"
# def fun():
# name="局部变量"
# global name
# print(name)
#fun()#调用会报错,因为无法确定name为局部name还是全局name
def fun1():
name="局部变量"
print(name)
def fun2():
global name#表明将引用已有的全局变量或者新建全局变量
print(name)
def fun3():
name="一级局部变量"
def fun4():
nonlocal name#表明将引用上一级变量或者新建上一级变量
name="二级局部变量"
print(name)
fun4()
fun1()
fun2()
fun3()

本文深入探讨了Python中函数的定义与执行原理,详细解析了全局变量与局部变量的区别,以及如何在函数内部引用不同层级的变量。通过具体示例,读者可以了解变量作用域的逻辑划分及其在实际编程中的应用。
301

被折叠的 条评论
为什么被折叠?



