日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python中的變量作用域

通常,在塊中定義的變量僅在該塊中可用。在街區(qū)外無法到達(dá)。這樣的變量稱為局部變量。形式參數(shù)標(biāo)識符也表現(xiàn)為局部變量。

我們提供的服務(wù)有:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、徽縣ssl等。為超過千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的徽縣網(wǎng)站制作公司

下面的例子將強(qiáng)調(diào)這一點(diǎn)。試圖打印其作用域之外的局部變量將引發(fā)NameError 異常。

Example: Local Variable

def greet():
    name = 'Steve'
    print('Hello ', name) 

這里,namegreet()函數(shù)的局部變量,不能在函數(shù)外部訪問。

Example: Local Variable

>>> greet()                            
Hello Steve
>>> name Traceback (most recent call last):
File "", line 1, in  name
NameError: name 'name' is not defined 

任何存在于任何函數(shù)塊之外的變量稱為全局變量。它的值可以從任何函數(shù)內(nèi)部訪問。在下面的例子中,name變量在函數(shù)定義之前被初始化。 因此,它是一個全局變量。

Example: Global Variable

name='John'
def greet():
    print ("Hello ", name) 

現(xiàn)在,您可以訪問全局變量name,因?yàn)樗怯珊瘮?shù)定義的。

>>> greet()                            
Hello Steve
>>> name
'Steve' 

但是,如果我們在函數(shù)內(nèi)部為全局聲明的變量賦值,則會在函數(shù)的命名空間中創(chuàng)建一個新的局部變量。此賦值不會改變?nèi)肿兞康闹?。例?

Example: Local and Global Variables

name = 'Steve'
def greet():
    name = 'Bill'
    print('Hello ', name) 

現(xiàn)在,改變函數(shù)內(nèi)部全局變量name的值不會影響其全局值。

>>> greet()
Hello Bill
>>> name
'Steve' 

如果您需要從函數(shù)內(nèi)部訪問和更改全局變量的值,該權(quán)限由global關(guān)鍵字授予。

Example: Access Global Variables

name = 'Steve'
def greet():
    global name
    name = 'Bill'
    print('Hello ', name) 

上面將在 Python Shell中顯示以下輸出。

>>> name                               
'Steve'
>>> greet()                            
Hello Bill
>>> name                               
'Bill' 

也可以同時使用同名的全局變量和局部變量。內(nèi)置函數(shù)globals()返回所有全局變量及其各自值的字典對象。 使用變量的名稱作為關(guān)鍵字,可以訪問和修改其值。

Example: Global Variables

name = 'Steve'
def greet():
    globals()['name'] = 'James'
    name='Steve'
    print ('Hello ', name) 

上述代碼的結(jié)果顯示了具有相同名稱的全局變量和局部變量之間的沖突以及如何解決該沖突。

>>> name
'Steve'
>>> greet()    
Hello Steve 
>>> name
'James' 

更多信息,請?jiān)L問 Python 中的全局和局部。**


當(dāng)前文章:Python中的變量作用域
網(wǎng)址分享:http://www.dlmjj.cn/article/dpsjcoh.html