溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python關(guān)鍵字global全局變量的作用

發(fā)布時(shí)間:2020-11-25 11:12:38 來(lái)源:億速云 閱讀:243 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹Python關(guān)鍵字global全局變量的作用,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

變量作用域

一般在函數(shù)體外定義的變量成為全局變量,在函數(shù)內(nèi)部定義的變量稱為局部變量。

全局變量所有作用域都可用,局部變量只能在本函數(shù)可用,變量的使用順序是,局部變量 > 全局變量, 也就是說(shuō):優(yōu)先使用局部變量

那么問(wèn)題來(lái)了, 如果想在函數(shù)內(nèi)使用全局變量,或改變?nèi)肿兞康闹担?應(yīng)該怎么做呢?

global關(guān)鍵字

為了解決函數(shù)內(nèi)使用全局變量的問(wèn)題,python增加了global關(guān)鍵字, 利用它的特性, 可以指定變量的作用域。

global關(guān)鍵字的作用:聲明變量var是全局的

代碼實(shí)例

實(shí)例1:

函數(shù)優(yōu)先使用局部變量

str = 'global'
def func1():
    str = 'local'
    print(str)
func1()
print(str)

輸出結(jié)果

local
global

實(shí)例2:

在沒(méi)有局部變量的情況下, 使用全局變量

str = 'global'
def func1():
    print(str)
func1()
print(str)

輸出結(jié)果

global
global

實(shí)例3:

改變?nèi)肿兞康闹担?通過(guò)實(shí)例1可以看到, 函數(shù)內(nèi)賦值并不能改變?nèi)肿兞康闹?,所以需要global關(guān)鍵字

str = 'global'
def func1():
    global str
    str = 'local'
    print(str)
func1()
print(str)

輸出結(jié)果

local
local

其他用法

你可以使用同一個(gè)global語(yǔ)句指定多個(gè)全局變量。

例如

global var1, var2, var3

特殊類型

字符串、數(shù)字類型是不能被在局部被修改的,除非使用global關(guān)鍵字,但是 列表,字典是可修改,但不能重新賦值,如果需要重新賦值,需要在函數(shù)內(nèi)部使用global定義全局變量

代碼實(shí)例1:

list = ['global', 'pythontab.com']
def func1():
    list.append('bbs.pythontab.com')
    print(list)
func1()
print(list)

輸出結(jié)果

['global', 'pythontab.com', 'bbs.pythontab.com']
['global', 'pythontab.com', 'bbs.pythontab.com']

發(fā)現(xiàn)上面的list并沒(méi)有使用global但是值卻改變了, 說(shuō)明列表是可以在局部被修改的

代碼實(shí)例2:

list = ['global', 'pythontab.com']
def func1():
    list = ['docs.pythontab.com']
    print(list)
func1()
print(list)

結(jié)果:

['docs.pythontab.com']
['global', 'pythontab.com']

局部變量賦值不能改變?nèi)肿兞康闹?/p>

以上是“Python關(guān)鍵字global全局變量的作用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI