變數作用域:
一般在函數體外定義的變數成為全域變量,在函數內部定義的變數稱為局部變數。
全域變數所有作用域都可讀,局部變數只能在本函數可讀
函數在讀取變數時,優先讀取函數本身自有的局部變量,再去讀取全域變數
全域變數
讀,均可讀取
賦值,global
#字典,清單可修改
全域變數全大寫
例如
name = 'Tim' #全局变量 def f1(): age = 18 #局部变量 print(age,name) def f2(): age=19 #局部变量 print(age,name) 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
以上是python變數的作用域的詳細內容。更多資訊請關注PHP中文網其他相關文章!