本帖最后由 文质彬彬胡汉三 于 2017-4-8 11:05 编辑
哈哈哈 ,自然水,我胡漢三來啦 。
首先定義了var = 'Hi',然後在fun1()中,聲明全局變量var,緊接著var = 'baby',下一步返回了fun2()的值,fun2(var)這個函數中,函數的形勢參數var的實際參數就是fun1()中的 var(2) = var(1)+'I love you ',即:
var = 'baby I love you ',下一步,fun3(var)這個函數中,沒有任何返囘值,因此fun2()的實際參數是不受影響的,fun2(var)返回的是var(2)的值,即屏幕打印baby I love you.
如果你修改fun2(var),返回的是fun3(var),代碼如下:var = ' Hi '
def fun1():
global var
var = ' Baby '
return fun2(var)
def fun2(var):
var += 'I love you'
fun3(var)
return fun3(var)
def fun3(var):
var = ' 小甲鱼 '
print(fun1())
此時屏幕打印的結果是None,因爲fun3()并無有返囘值,若修改fun3(var),代碼如下:var = ' Hi '
def fun1():
global var
var = ' Baby '
return fun2(var)
def fun2(var):
var += 'I love you'
fun3(var)
return fun3(var)
def fun3(var):
var = ' 小甲鱼 '
return var
print(fun1())
此時屏幕打印值就是小甲魚
還有一點忘了說,var是全局變量,但是在fun1()中聲明調用了最初定義的var后,下一步,var = 'baby'已經修改全局變量var的值,可以嘗試一下使用
print(var),這個時候屏幕打印就是baby
|