Python全局變量關(guān)鍵字global的簡(jiǎn)單使用
簡(jiǎn)介:
1、global是Python中的全局變量關(guān)鍵字。
2、全局變量是編程術(shù)語(yǔ)中的一種,源自于變量之分。
3、變量分為局部與全局,局部變量又可稱之為內(nèi)部變量。
4、由某對(duì)象或某個(gè)函數(shù)所創(chuàng)建的變量通常都是局部變量,只能被內(nèi)部引用,而無(wú)法被其它對(duì)象或函數(shù)引用。
5、全局變量既可以是某對(duì)象函數(shù)創(chuàng)建,也可以是在本程序任何地方創(chuàng)建。全局變量是可以被本程序所有對(duì)象或函數(shù)引用。
6、global關(guān)鍵字的作用是可以使得一個(gè)局部變量為全局變量。
案例1:全局無(wú)法使用局部變量。
# -*- coding: utf-8 -*-
def test1():
# 局部變量 local
local_var = "a"
print(local_var)
# 全局無(wú)法使用局部變量,只有對(duì)應(yīng)的局部作用域可用
# 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)變量,但對(duì)于下級(jí)函數(shù)就是全局變量,對(duì)于外部來(lái)說(shuō)就是局部變量
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會(huì)報(bào)錯(cuò)。
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的情況下會(huì)拋出異常。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聲明多個(gè)變量需要用逗號(hào)分
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 在使用全局變量的場(chǎng)合,也可用類變量代替 class C: count = 3 def cc(): count = C.count+1 print(count) cc() 4
結(jié)論:
1、只導(dǎo)入包,global定義的全局變量沒(méi)有被加到globals里面。
2、執(zhí)行g(shù)lobal所在的對(duì)應(yīng)函數(shù),global定義的函數(shù)內(nèi)會(huì)存入對(duì)應(yīng)變量,其他函數(shù)內(nèi)則不會(huì)存入。
到此這篇關(guān)于Python全局變量關(guān)鍵字global的簡(jiǎn)單使用的文章就介紹到這了,更多相關(guān)Python全局變量關(guān)鍵字global內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Python中Pandas read_csv參數(shù)使用
在使用 Pandas 進(jìn)行數(shù)據(jù)分析和處理時(shí),read_csv 是一個(gè)非常常用的函數(shù),本文將詳細(xì)介紹 read_csv 函數(shù)的各個(gè)參數(shù)及其用法,希望對(duì)大家有所幫助2022-10-10
DES加密解密算法之python實(shí)現(xiàn)版(圖文并茂)
這篇文章主要介紹了DES加密解密算法之python實(shí)現(xiàn)版,圖文并茂的為大家分享一下,需要的朋友可以參考下2018-12-12
Python自動(dòng)化辦公實(shí)現(xiàn)數(shù)據(jù)自動(dòng)填充需求
這篇文章主要為大家介紹了Python自動(dòng)化辦公實(shí)現(xiàn)數(shù)據(jù)自動(dòng)填充需求,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
解決python 無(wú)法加載downsample模型的問(wèn)題
今天小編就為大家分享一篇解決python 無(wú)法加載downsample模型的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-10-10
Python腳本實(shí)現(xiàn)datax全量同步mysql到hive
這篇文章主要和大家分享一下mysql全量同步到hive自動(dòng)生成json文件的python腳本,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參加一下2024-10-10
python實(shí)現(xiàn)括號(hào)匹配的思路詳解
這篇文章主要介紹了python實(shí)現(xiàn)括號(hào)匹配及匹配格式的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-08-08
Python導(dǎo)入數(shù)值型Excel數(shù)據(jù)并生成矩陣操作
這篇文章主要介紹了Python導(dǎo)入數(shù)值型Excel數(shù)據(jù)并生成矩陣操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-06-06
Python3標(biāo)準(zhǔn)庫(kù)glob文件名模式匹配的問(wèn)題
glob的模式規(guī)則與re模塊使用的正則表達(dá)式并不相同。實(shí)際上,glob的模式遵循標(biāo)準(zhǔn)UNIX路徑擴(kuò)展規(guī)則。只使用幾個(gè)特殊字符來(lái)實(shí)現(xiàn)兩個(gè)不同的通配符和字符區(qū)間。這篇文章主要介紹了Python3標(biāo)準(zhǔn)庫(kù)glob文件名模式匹配的知識(shí),需要的朋友可以參考下2020-03-03
python學(xué)習(xí)之hook鉤子的原理和使用
這篇文章主要為大家詳細(xì)介紹了python學(xué)習(xí)之hook鉤子的原理和使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10

