var = ' Hi ' #定义全局变量var
def fun1():
global var #定义函数内的var为全局变量
var = ' Baby ' #此时全局变量的值已修改为' Baby '
return fun2(var) #把全局变量(值为' Baby ')作为参数传入调用fun2()函数,并将执行结果返回,也就是返回 fun2(' Baby ') 的返回值,此时返回“Baby I love you”
def fun2(var): #参数' Baby '传入函数内的局部变量var
var += 'I love you' #执行后函数2内的局部变量值为“Baby I love you”,全局变量仍然为' Baby '
fun3(var) #返回fun3(“Baby I love you”)的执行结果,返回了None
return var #此时函数返回“Baby I love you”,也就是fun2(' Baby ')
返回“Baby I love you”
def fun3(var): #参数“Baby I love you”传入函数内的局部变量var
var = ' 小甲鱼 ' #执行后函数3内局部变量值为' 小甲鱼 ',全局变量仍然为' Baby '
#这个程序没有返回值,也就是返回None,不信可以看后面的运行结果
print(fun1()) #打印fun1()函数的返回值,返回的是“Baby I love you”,全局变量仍然为Baby
查看执行结果并验证分析是否正确:
>>> print(fun3("Baby I love you"))
None
>>> print(fun2("Baby"))
BabyI love you
>>> var
' Baby '