溫馨提示×

溫馨提示×

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

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

什么是python變量的作用域

發(fā)布時間:2020-07-21 15:06:04 來源:億速云 閱讀:116 作者:小豬 欄目:開發(fā)技術(shù)

這篇文章主要講解了什么是python變量的作用域,內(nèi)容清晰明了,對此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會有幫助。

變量作用域:

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

全局變量所有作用域都可讀,局部變量只能在本函數(shù)可讀

函數(shù)在讀取變量時,優(yōu)先讀取函數(shù)本身自有的局部變量,再去讀全局變量

全局變量

讀,均可讀

賦值,global

字典,列表可修改

全局變量全大寫

例如

name = 'Tim' #全局變量
def f1():
  age = 18 #局部變量
  print(age,name)
 def f2():
  age=19 #局部變量
f1()
f2()
>>>
18 Tim
19 Tim

在函數(shù)內(nèi)部也可以定義全局變量:

name = 'Tim' #全局變量
def f1():
  age = 18 #局部變量
  global name #定義全局變量
  name = 'Eric'
  print(age,name)
f1()
print(name)

全局變量默認(rèn)可讀,如果需要改變?nèi)肿兞康闹?,需要在函?shù)內(nèi)部使用global定義

特殊:列表,字典,可修改,但不能重新賦值,如果需要重新賦值,需要在函數(shù)內(nèi)部使用global定義全局變量

NAME = ['Tim','mike'] #全局變量
NAME1 = ['Eric','Jeson'] #全局變量
NAME3 = ['Tom','jane'] #全局變量
def f1():
  NAME.append('Eric') #列表的append方法可改變外部全局變量的值
  print('函數(shù)內(nèi)NAME: %s'%NAME)
  NAME1 = '123' #重新賦值不可改變外部全局變量的值
  print('函數(shù)內(nèi)NAME1: %s'%NAME1)
  global NAME3 #如果需要重新給列表賦值,需要使用global定義全局變量
  NAME3 = '123'
  print('函數(shù)內(nèi)NAME3: %s'%NAME3)
f1()
print('函數(shù)外NAME: %s'%NAME)
print('函數(shù)外NAME1: %s'%NAME1)
print('函數(shù)外NAME3: %s'%NAME3)
>>>

函數(shù)內(nèi)NAME: ['Tim', 'mike', 'Eric']

函數(shù)內(nèi)NAME1: 123

函數(shù)內(nèi)NAME3: 123

函數(shù)外NAME: ['Tim', 'mike', 'Eric']

函數(shù)外NAME1: ['Eric', 'Jeson']

函數(shù)外NAME3: 123

看完上述內(nèi)容,是不是對什么是python變量的作用域有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI