Python-函式-引數型別(關鍵字、預設、不定長)
阿新 • • 發佈:2021-07-21
一、引數型別:
1、如引數為資料型別(nummber),str,則函式體中不可修改引數值 2、如引數為set,list,dict,則函式體中可修改引數值二、引數基本型別分為:必需引數、關鍵字引數,預設引數,不定長引數
-
必需引數: 須以正確的順序傳入函式,呼叫時引數數量必須和宣告時一樣。
def myfunc(str): print(str) return myfunc('aaa')
2.關鍵字引數:允許函式呼叫時引數順序與宣告不一致,因為直譯器會根據引數名去匹配引數值的
關鍵字函式例項:
def myfunc(name,age):print('name',name) print('age',age) myfunc(age=18,name='zhangsan')
3.預設引數:呼叫函式時,如果沒有傳遞引數,則會使用預設引數
def myfunc(name ,age=18): print('name',name) print('age',age) myfunc('cc')
4.不定長引數:引數的個數不能確定,可能你需要一個函式來處理比當初宣告更多的引數,這些引數就叫做不定長引數,跟上述引數不同,宣告時不會命名
- 加了星號*的引數以元組的形多匯入,存放所有未命名的變數引數
- 引數帶兩個星號**的引數以字典的形式匯入
- *可以單獨出現,但是呼叫時必須用關鍵字傳入,如*穿插在引數中間,則*後面的引數要以關鍵字傳入
例一: def myfunc(*info): print(info) print(type(info)) #class(tuple) myfunc('姓',19,'上海') 例二: def myfunc(**info): print(info) myfunc(name = '張三',age = 19) #取值則通過表示式key,value的方式取值,即info['name'] 例三: def sum(num1,num2,*, num3):三十六般武藝,七十二般變化,修練出個人品牌併發出光芒return num1 + num2 + num3 print(sum(1,2,num3 = 3)) #執行結果為6