溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中變量范圍作用域是什么

發布時間:2021-10-19 10:19:17 來源:億速云 閱讀:79 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關python中變量范圍作用域是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

今天學習python的量范圍作用域,并記錄學習過程歡迎大家一起交流分享。

新建一個python文件命名為py3_scope.py,在這個文件中進行操作代碼編寫:

#變量作用域范圍#Local局部變量#Enclosing封閉函數變量,閉包中常見#Global 全局變量#Built-in 內置模塊#python中查找一個變量準守LEGB規則#優先從L->E->G-B查找#定義全局變量x = 'global x'#定義函數,y為局部變量#函數內有效def test():  y = 'local y'  print(y)#調用局部變量  print(x)#調用全局變量test()    #如果直接打印y會報錯,因為是局部變量#print(y)#打印全局變量xprint(x)#使用關鍵字global將函數內的局部變量變成全局def test():  global x  x = 'local x'  print(x)#調用局部變量#調用函數test()  #local x#打印全局變量xprint(x)#local x#函數中參數為局部變量:def test(z):  print(z)#調用局部變量test('local z')#如果直接打印z會報錯,因為是局部變量#print(z)#嵌套函數中封閉函數變量def outer():  x = 'outer x'  def inner():    x = 'inner x'    print(x)
 inner()  print(x)#調用函數outer()#inner x#outer x#根據LEGB規則#調用函數outer()#先是執行inner()中的x打印#然后執行outer()x的打印#接下來我們注釋掉inner中的x變量def outer():  x = 'outer x'  def inner():    #x = 'inner x'    print(x)
 inner()  print(x)#調用函數outer()#outer x#outer x#結果是打印兩次outer x#調用函數outer()后,首先執行inner()#發現沒有local變量,根據LEGB規則,尋找閉包函數中的變量#輸出outer()中 x的值#繼續調用outer()中x的值,直接打印輸出outer x#接下來修改inner()中x的變量為nonlocal#作用域為閉包函數中,不使用全局global修飾#防止影響全局作用域def outer():  x = 'outer x'  def inner():    nonlocal x    x = 'inner x'    print(x)
 inner()  print(x)#調用函數outer()#inner x#inner x#內置模塊變量#首先導入內置模塊import builtins#查看內置模塊中的函數等信息print(dir(builtins))#定義一個函數min()def min():  pass#這里以min()函數獲取最小值為例#m = min([1,2,3,4,5])#print(m)#根據變量作用域的LEGB規則,會先去Local中去找#所以運行會出現錯誤,需要特別注意

關于python中變量范圍作用域是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女