Python全局變量關(guān)鍵字global的簡單使用
簡介:
1、global是Python中的全局變量關(guān)鍵字。
2、全局變量是編程術(shù)語中的一種,源自于變量之分。
3、變量分為局部與全局,局部變量又可稱之為內(nèi)部變量。
4、由某對象或某個函數(shù)所創(chuàng)建的變量通常都是局部變量,只能被內(nèi)部引用,而無法被其它對象或函數(shù)引用。
5、全局變量既可以是某對象函數(shù)創(chuàng)建,也可以是在本程序任何地方創(chuàng)建。全局變量是可以被本程序所有對象或函數(shù)引用。
6、global關(guān)鍵字的作用是可以使得一個局部變量為全局變量。
案例1:全局無法使用局部變量。
# -*- coding: utf-8 -*- def test1(): # 局部變量 local local_var = "a" print(local_var) # 全局無法使用局部變量,只有對應的局部作用域可用 # print(local_var) # NameError: name 'local_var' is not defined
案例2:全局變量,任意范圍均可使用。
global_var = 1 def test2(): # 函數(shù)內(nèi)使用全局變量 print(global_var + 1) def inner(): # 嵌套函數(shù)內(nèi)使用全局變量 print(global_var + 2) return global_var + 3 # 返回值內(nèi)使用全局變量 # 函數(shù)外使用全局變量。 print(global_var)
案例3:函數(shù)內(nèi)定義的局部變量
def test3(): # 函數(shù)內(nèi)變量,但對于下級函數(shù)就是全局變量,對于外部來說就是局部變量 func_var = 1 def inner(): print(func_var) return func_var return inner() test3()
案例4:函數(shù)間global關(guān)鍵字的作用
def test4(): # global關(guān)鍵字作用 global func_var func_var = 2 # 調(diào)用test5可以打印 func_var,去掉global會報錯。 test5() print(test5.__globals__) def test5(): print(func_var) test4()
案例5:不同文件模塊中的global,注意test6, test7為不同文件。
# a.py def test6(): # global關(guān)鍵字作用 global func_var func_var = 3 # b.py from a import test6 def test7(): print(test6.__globals__["func_var"]) # 不先執(zhí)行test6的情況下會拋出異常。KeyError: 'func_var' test7() # KeyError: 'func_var'
案例6:不同文件模塊中的global,注意test6, test7為不同文件。
# a.py def test6(): # global關(guān)鍵字作用 global func_var func_var = 4 # b.py from a import test6 def test7(): print(test6.__globals__["func_var"]) # 先執(zhí)行test6的情況下,test可以使用 func_var test6() test7() # 4
附:用global聲明多個變量需要用逗號分
num = 0 def cc(): global count,num count = count+1 num = num+2 print(count,num) cc() 3 2 # 可以函數(shù)中的global聲明能夠修改全局變量 num Out[24]: 2 # count Out[25]: 3 在使用全局變量的場合,也可用類變量代替 class C: count = 3 def cc(): count = C.count+1 print(count) cc() 4
結(jié)論:
1、只導入包,global定義的全局變量沒有被加到globals里面。
2、執(zhí)行g(shù)lobal所在的對應函數(shù),global定義的函數(shù)內(nèi)會存入對應變量,其他函數(shù)內(nèi)則不會存入。
到此這篇關(guān)于Python全局變量關(guān)鍵字global的簡單使用的文章就介紹到這了,更多相關(guān)Python全局變量關(guān)鍵字global內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python的爬蟲包Beautiful Soup中用正則表達式來搜索
這篇文章主要介紹了Python的爬蟲包Beautiful Soup中用正則表達式來搜索的技巧,包括使用正則表達式去搜索多種可能的關(guān)鍵字以及查找屬性值未知的標簽等,需要的朋友可以參考下2016-01-01Python multiprocessing 進程間通信方式實現(xiàn)
本文主要介紹了Python multiprocessing 進程間通信方式實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02Python實現(xiàn)數(shù)通設備端口使用情況監(jiān)控實例
這篇文章主要介紹了Python實現(xiàn)數(shù)通設備端口使用情況監(jiān)控的方法,涉及Python針對設備監(jiān)控的操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07