python 09 區域性變數和全域性變數

2021-10-02 03:35:52 字數 2335 閱讀 8604

●區域性變數是在函式內部定義的變數,只能在函式內部使用

●全域性變數是在函式外部定義的變數(沒有定義在某- 個函式內),所有函式內部都可以使用這個變數

提示:在其他的開發語言中,大多不推薦使用全域性變數——可變範圍太大,導致程式不好維護!

●區域性變數是在函式內部定義的變數,只能在函式內部使用

●函式執行結束後,函式內部的區域性變數,會被系統**

●不同的函式,可以定義相同的名字的區域性變數,但是各用個的不會產生影響

區域性變數的作用

●在函式內部使用,臨時儲存函式內部需要使用的資料

def demo1():

num = 10

print(num)

num = 20

print("修改後%d" % num)

def demo2():

num = 100

print(num)

demo1()

demo2()

print ("over")

區域性變數的生命週期●所謂生命週期就是變數從被建立到被系統**的過程

●區域性變數在函式執行時才會被建立

●函式執行結束後區域性變數被系統**

●區域性變數在生命週期內,可以用來儲存函式內部臨時使用到的資料

區域性變數的作用

●在函式內部使用,臨時儲存函式內部需要使用的資料

def demo1():

num = 10

print (num)

num = 20

print("修改後%d" % num)

def demo2():

num = 100

print (num)

demo1()

demo2()

print("over")

注意:函式執行時,需要處理變數時會:

1.首先查詢函式內部是否存在指定名稱的區域性變數,如果有,直接使用

2.如果沒有,查詢函式外部是否存在指定名稱的全域性變數,如果有,直接使用

3.如果還沒有,程式報錯!

1)函式不能直接修改全域性變數的引用

●全域性變數是在函式外部定義的變數(沒有定義在某- 個函式內),所有函式內部都可以使用這個變數

●在函式內部,可以通過全域性變數的引用獲取對應的資料

●但是,不允許直接修改全域性變數的引用- -使用賦值語句修改全域性變數的值

num = 10

def demo1( ):

print("demo1" +「_」* 50)

#只是定義了乙個區域性變數,不會修改到全域性變數,只是變數名相同而已

num = 100

print (num)

def demo2():

print("demo2" + "-" * 50)

print (num)

demo1()

demo2 ( )

print("over")

2)在函式內部修改全域性變數的值●如果在函式中需要修改全域性變數,需要使用global 進行宣告

num = 10

def demo1():

print("demo1" + "-" * 50)

#global 關鍵字,告訴python 直譯器num 是一乙個全域性變數

global num

#只是定義了乙個區域性變數,不會修改到全域性變數,只是變數名相同而已

3)全域性變數定義的位置●為了保證所有的函式都能夠正確使用到全域性變數,應該將全域性變數定義在其他函式的上方

注意

●由於全域性變數c,是在呼叫函式之後,才定義的,在執行函式時,變數還沒有定義,所以程式會報錯!

4 11 區域性變數和全域性變數

在乙個函式內部定義的變數是內部變數,它只在本函式範圍內有效,也就是說只有在本函式內才能使用它們,在此函式以外是不能使用這些變數的。同樣,在復合語句中定義的變數只在本復合語句範圍內有效。這稱為 區域性變數 local variable 如 對區域性變數的一些說明 1 主函式main中定義的變數 m,n...

PHP學習筆記05 區域性變數 全域性變數 超全域性變數

1.區域性變數 在方法中的變數 function abc echo test 在方法外列印 test,執行 無法顯示。因此,方法中的區域性變數作用域只在方法中。2.全域性變數 在方法之外定義的變數叫全域性變數,例如 test hhhhhh 定義全域性變數 function abc abc 在方法外變...

python區域性變數和全域性變數

name gongwei 要在函式裡修改全域性變數,需要用globle home earth china cq def change name home 地球 注意只有字串和單獨數值在區域性變數中修改全域性變數要用globle輔助,其他如列表 字典可以直接修改 global name name xu...