程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python系列教程183——global語句

編輯:Python

朋友們,如需轉載請標明出處:https://blog.csdn.net/jiangjunshow

聲明:在人工智能技術教學期間,不少學生向我提一些python相關的問題,所以為了讓同學們掌握更多擴展知識更好地理解AI技術,我讓助理負責分享這套python系列教程,希望能幫到大家!由於這套python教程不是由我所寫,所以不如我的AI技術教學風趣幽默,學起來比較枯燥;但它的知識點還是講到位的了,也值得閱讀!想要學習AI技術的同學可以點擊跳轉到我的教學網站。PS:看不懂本篇文章的同學請先看前面的文章,循序漸進每天學一點就不會覺得難了!

global語句是Python中唯一看起來有些像聲明語句的語句。但是,它並不是一個類型或大小的聲明,它是一個命名空間的聲明。它告訴Python函數打算生成一個或多個全局變量名。也就是說,存在於整個模塊內部作用域(命名空間)的變量名:

X = 88 # Global X
def func():
global X
X = 99 # Global X: outside def
func()
print(X) # Prints 99

這個例子中我們增加了一個global聲明,以便在def之內的X能夠引用在def之外的X。

下面再來看一個例子

y,z = 1,2 # Global variables in module
def all_global():
global x # Declare globals assigned
x = y + z # No need to declare y,z: LEGB rule

這裡,x、y和z都是all_global函數內的全局變量。y和z是全局變量,因為它們不是在函數內賦值的;x是全局變量,因為它通過global語句使自己明確地映射到了模塊的作用域。如果不使用global語句的話,x將會由於賦值而被認為是本地變量。

y和z並沒有進行global聲明。Python的LEGB查找法則將會自動從模塊中找到它們。此外,注意x在函數運行前可能並不存在。如果這樣的話,函數內的賦值語句將自動在模塊中創建x這個變量。


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved