Python:函数变量的使用
生活随笔
收集整理的這篇文章主要介紹了
Python:函数变量的使用
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、上層函數(shù)不能直接使用其嵌套函數(shù)的變量;
def func1(x, y):z = x + ydef func2():m = 3z += mreturn z print(func1(1, 2)) # 報錯:name 'm' is not defined2、上層函數(shù)中的變量可以在其嵌套函數(shù)內(nèi)直接使用:
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' def func1(x, y):z = x + ydef func2():m = 3 + zreturn mreturn func2() print(func1(1, 2)) # 輸出:63、嵌套函數(shù)中,不能即使用上層函數(shù)變量,又有自己的變量與該上層變量同名:
def func1(x, y):z = x + ydef func2():# m=3 + z:z 是上層函數(shù)的變量m = 3 + z# z=m ** 2:z 是func2()函數(shù)自身的變量z = m ** 2return zreturn func2() print(func1(1, 2)) # 報錯:local variable 'z' referenced before assignment提前聲明該變量非本地變量(系統(tǒng)會自動從上層函數(shù)中查找該變量):nonlocal z
代碼中的變量 z 均為func1()函數(shù)的變量
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' def func1(x, y):z = x + ydef func2():nonlocal zm = 3 + zz += mreturn zreturn func2() print(func1(1, 2)) # 輸出:94、上層函數(shù)的形參(x,y),可以在其嵌套函數(shù)中直接使用;
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學(xué)習(xí)交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學(xué)習(xí)教程和PDF電子書! ''' def func1(x, y):def func2():m = 3 + xz = m + yreturn zreturn func2() print(func1(1, 2)) # 輸出:65、上層函數(shù)的形參(x,y),可以作為其嵌套函數(shù)的形參:形參的名字必須相同
def func1(x, y):def func2(x, y):m = 3 + xz = m + yreturn zreturn func2(x, y) print(func1(1, 2)) # 輸出:6總結(jié)
以上是生活随笔為你收集整理的Python:函数变量的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python:序列的copy() 方法和
- 下一篇: Python教程:collections