區域變數僅在其作用域內生效,全域變數在任何地方都生效
1 name = "dog" #全域變數 2 sex = "男" 3 def change_name(name): 4 print("befor change", name) # befor change dog 5 name = "Tigger" # 區域變數,這個函式就是該變數的作用域 6 global sex # 將sex升級為全域變數 7 sex = "女" 8 age = 23 # 區域變數,這個函式就是該變數的作用域 9 print("after change", name) # after change Tigger 10 return 0 11 12 print(sex) # 男 13 change_name(name) 14 15 #name為dog,因為函式里的name的作用域為函式內部 16 print(name) # dog 17 18 #報錯:age is nor defined ,因為函式內部的age不是全域變數 19 print("age", age) 20 # 不報錯,因為global將sex設定為了全域變數 21 print(sex) # 女
注意:盡量不要將區域變數升級為全域變數
除了字串和整數,其他資料型別(串列,字典)可以在函式里改,改了后在全域生效
1 names = ["Tigger","Dog","Cat"] 2 def change(): 3 names[0] = "大腦斧" 4 print(names) 5 return 0 6 change() 7 print(names)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/143931.html
標籤:Python
上一篇:Python--遞回函式
下一篇:Python--函式傳參
