歡迎您光臨本站 註冊首頁

python變量的作用域是什麼

←手機掃碼閱讀     bom485332 @ 2020-06-06 , reply:0

變量作用域:

一般在函數體外定義的變量成為全局變量,在函數內部定義的變量稱為局部變量。

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

函數在讀取變量時,優先讀取函數本身自有的局部變量,再去讀全局變量

全局變量

讀,均可讀

賦值,global

字典,列表可修改

全局變量全大寫

例如

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

 

在函數內部也可以定義全局變量:

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

 

全局變量默認可讀,如果需要改變全局變量的值,需要在函數內部使用global定義

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

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

 

函數內NAME: ['Tim', 'mike', 'Eric']

函數內NAME1: 123

函數內NAME3: 123

函數外NAME: ['Tim', 'mike', 'Eric']

函數外NAME1: ['Eric', 'Jeson']

函數外NAME3: 123          

   


[bom485332 ] python變量的作用域是什麼已經有234次圍觀

http://coctec.com/docs/python/shhow-post-237175.html