python_函数相关的各种参数定义和传递
一、函數的創建
如圖所示
二、函數的參數傳遞
函數調用的參數傳遞
位置實參:
根據形式參數對應的位置進行實際參數的傳遞
關鍵字實參:
根據形式參數名稱進行實際參數傳遞
結論:
如果是不可變對象,在函數體的修改不會影響到實際參數的值,arg1的修改為100,不會影響到n1的值
如果是可變對象,在函數體內的修改回影響到實際參數的值,arg2的修改,append(10),回影響到n2的值
三、函數的參數定義:
1、函數定義默認值參數:
函數定義時,給形式參數設置默認值,只有與默認值不符合的時候才需要傳遞實參。
例如:
只傳一個參數,b采用默認值
傳2個參數,2將默認值10替換
2、個數可變的位置形式參數
-定義函數時,可能無法事先確定傳遞的位置實參的個數時,使用可變的位置形式參數
-使用*定義個數可變的位置參數
-結果為一個元組
3、個數可變的關鍵字形式參數
-定義函數時,無法事先確定傳遞的關鍵字實參的個數時,使用可變的關鍵字形參
-使用**定義個數可變的關鍵字形參
-結果為一個字典
-
4、錯誤的位置形式參數定義、錯誤的關鍵字形式參數定義
def fun2(*args,*a):
pass
以上代碼,程序會報錯,個數可變的位置參數,只能為1個
def fun2(**args,**a):
pass
以上代碼,程序會報錯,個數可變的關鍵字參數,只能為1個
在一個函數的定義過程中,既有個數可變的關鍵字形式參數,也有個數可變的位置參數,
要求個數可變的位置參數,放在個數可變的關鍵字參數之前
def fun(*args,**kwargs):
pass
四、函數的調用
在函數調用時,將列表(元組、集合)中的每一個元素都轉換為位置實參傳入;
在函數調用時,將字典中的鍵值對都轉化為關鍵字實參傳入;
例題:
需求:c和d只能采用關鍵字實參傳遞
從?號之后的參數,在函數調用時,只能采用關鍵字參數傳遞,將*稱為關鍵字警察
總結
以上是生活随笔為你收集整理的python_函数相关的各种参数定义和传递的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用的认证机制之session认证和to
- 下一篇: python——常用内置函数(enume