日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python之函数的参数

發布時間:2025/3/15 python 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python之函数的参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python中函數的參數有五種:位置參數(必選參數)、默認參數、可變參數、關鍵字參數、命名關鍵字參數。

#位置參數

//定義位置參數函數 def sayHello(name):print('hello',name)//調用函數 sayHello('Tom') 復制代碼

調用結果: ('hello', 'Tom')

此時的sayHello(name)函數,參數name是一個位置參數。

當調用函數的時候,必須傳入一個參數。其他方式調用都會報錯:

//無參數調用 sayHello() TypeError: sayHello() takes exactly 1 argument (0 given) //多參數調用 sayHello('Tom','Jarry') TypeError: sayHello() takes exactly 1 argument (2 given) 復制代碼

#默認參數

//定義具有默認參數的函數 def sayHello(name,greet='Hello'):print(greet,name) //調用函數 sayHello('Tom') sayHello('Jarry','Hai') 復制代碼

調用結果: ('Hello', 'Tom') ('Hai', 'Jarry')

默認參數的好處不言自明,它能夠簡化函數的調用。設置默認參數的時候,需要注意的是:必選參數在前,默認參數在后,否則會報錯。

但函數有多個默認參數時,調用的時候,既可以按順序提供默認參數,也可以不按順序;當不按順序提供參數的時候,要把參數名寫上。舉個栗子:

def sayHello(name,greet='hello',word='how are you?'):print(greet,name,word)sayHello('Tom',word = 'how do you do?') 復制代碼

調用結果: ('hello', 'Tom', 'how do you do?')

#可變參數 可變參數的函數允許傳入任意個參數,這些可變參數在函數調用的時候會自動組裝成一個tuple。

//定義可變參數的函數 def sayHello(*saySomething):for tmp in saySomething:print(tmp) //調用函數 以下方式調用都沒問題 sayHello('Sawadika','Jarry') sayHello('nihao','BOBO','how do you do ?') sayHello('hello','Tom','how are you ?') 復制代碼

如果已經有一個list或者tuple,要調用可變參數的函數怎么辦?可以這樣:

//已有的list somethings = ['nihao','Zhangye','how do you do ?'] //加*即可 sayHello(*somethings) 復制代碼

調用結果: nihao Zhangye how do you do ?

#關鍵字參數 關鍵字參數的函數允許傳入任意個含參數名的參數,這些關鍵字參數在函數內部自動組裝成一個dict

//定義一個關鍵字參數 def sayHello(**saySomething):print(saySomething)//調用關鍵字參數的函數 sayHello(name='TOM',greet='hello',word='How do you do') sayHello(name='BOBO',word='how are you') sayHello(name='JHON')復制代碼

調用結果: {'word': 'How do you do', 'name': 'TOM', 'greet': 'hello'} {'word': 'how are you', 'name': 'BOBO'} {'name': 'JHON'}

與可變參數類似,如果已經有一個dict,允許把dict當做參數直接傳進去:

//已有的dict para = {'name':'BOBO','greet':'nihao'} //定義關鍵字參數 def sayHello(**parameters):if 'name' in parameters:print('name is',parameters['name'])if 'greet' in parameters:print('greet is',parameters['greet'])if 'word' in parameters:print('word is',parameters['word']) //調用 sayHello(**para) 復制代碼

調用結果: ('name is', 'BOBO') ('greet is', 'nihao')

#命名關鍵字參數 使用關鍵字參數的函數,允許傳入任意不受限制的關鍵字參數,我們只能在函數內部進行檢查參數;如果要限制關鍵字參數的名字,就可以用命名關鍵字參數

//定義一個命名關鍵字參數函數 def sayHello(name, *, greet='nihao', word):print(greet,name, word) //調用 sayHello('TOM',greet='hello',word='how are you') sayHello('TOM',word='how do you do') 復制代碼

調用結果: hello TOM how are you nihao TOM how do you do

特別注意:命名關鍵字參數是python3的語法,python2.7不兼容。

#最后 以上介紹的函數的五種參數都可以組合使用,除了可變參數無法和命名關鍵字參數混合。但是請注意,參數定義的順序必須是:必選參數、默認參數、可變參數/命名關鍵字參數和關鍵字參數。

本文整理資料來自:參考廖雪峰的Python教程

總結

以上是生活随笔為你收集整理的Python之函数的参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。