變量的做用域:函數
全局變量 ----- 能夠在函數內部被引用3d
局部變量 ----- 函數內部 -- 只能在函數裏面使用,在函數外部不能使用blog
在函數內部修改全局變量:global x作用域
缺省參數:get
1 - 在函數定義的時候,給了初始值 def func(a,b,c=0)string
2 - c這個參數,在函數調用的時候能夠不傳值,就是默認值。若是傳,那就是傳的值變量
3 - 定義參數的時候,參數不能放在必填參數前面List
4 - 缺省參數使用很是普遍,內置的庫和第三方庫裏面大量的使用缺省參數引用
可變數量參數:(必填,可缺省,可變數) ------ 寫法正確 ------- printim
1 - 數量可變!能夠N個,也能夠0個
2 - def calc(*numbers):
3 - type(numbers)
4 - 若是傳值的是元組/列表 --- 用*展開
5 - 是個元組
6 - 建議定義順序:必填,可缺省,可變數量
關鍵字參數: ---- dict
1 - 關鍵字
2 - 可變數量
3 - **d
4 - 是個字典類型
5 - 傳值:鍵值對
6 - 傳入字典: **字典 ----- 展開 {1:100, 2::200} 1=100 2=200
7 - **展開的話,key --- 必定是string ------ TypeError:func() keywords must be strings
缺省參數、可變數量參數、關鍵字參數混合使用!
總結:
1 - 必填 必定要在可缺省前面:SyntaxError:non-default argument follows default argument
2 - 當def getSum(a, *inList, b=100, **c)咱們須要將一個字典進行傳入,那麼這個字典的keys必定是str,不然TypeError:getSum() keywords must br strings