1. 程式人生 > >python基礎--變數01

python基礎--變數01

1.函式傳遞多餘的位置引數----*args   儲存為陣列格式

傳遞多餘的關鍵字引數------**kwargs  儲存為字典格式

 

def test(x,*args,**kwargs):
    ######
    return res
test(1,2,3,4,a=3,b=4)

2.全域性變數:在函式之前定義的變數(頂頭寫的),在所有函式中都可以呼叫

區域性變數:在函式內部定義的變數(有縮排),只能在本函式內部呼叫

3.在函式內部改全域性變數只需要在函式內部定義變數時加上修飾global,要寫在最前邊

name = "
xiaohua" def change_name(): global name name = "xiaohei" print('change_name',name) change_name() print(name) change_name xiaohei xiaohei

如果函式的內容無global關鍵字,優先讀取區域性變數,能讀取全域性變數,無法對全域性變數重新賦值,但是對於可變型別,可以對內部進行操作

如果函式中有global關鍵字,變數本質上就是全域性的那個變數,可讀取可賦值

name = ["小紅","小黑"]
def a():
    name1 
= "小胖" print(name1) print(name) def b(): global name name.append("小黃") print(name) a() b()

4.當代碼開始執行時,遇到函式只編譯不執行

name = "剛娘"

def weihou():
    name = "陳卓"
    def weiweihou():
        global name
        name = "冷靜"
    weiweihou()
    print(name)

    
print(name)
weihu()
print(name) #剛娘 #陳卓 #冷靜 #函式執行順序: 1 12-1 剛娘 4 8 6-1 改為冷靜 7 9-4 陳卓 14-1 冷靜

5.nonlocal與global類似,不過它指的是上一級的變數