中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么使用函數的參數類型

發布時間:2021-06-12 16:56:07 來源:億速云 閱讀:163 作者:Leah 欄目:編程語言

本篇文章給大家分享的是有關Python中怎么使用函數的參數類型,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

先來定義一個計算體重指數(BMI)的函數。體重指數就是體重與身高的平方之比,其中體重以千克為單位,身高以米為單位。

>>> def bmi(height, weight, name):     i = weight/height**2     print('%s的體重指數為%0.1f'%(name, i))   >>> bmi(1.75, 75, 'Xufive') Xufive的體重指數為24.5

自定義函數bmi有三個參數,每個參數都有明確的含義。調用這個函數時,必須按照定義的順序傳入這三個參數,缺一不可。這也是Python函數最基本的參數傳遞規則。

接下來把bmi函數稍微改造一下,給name參數指定一個默認值。

>>> def bmi(height, weight, name='您'):     i = weight/height**2     print('%s的體重指數為%0.1f'%(name, i))   >>> bmi(1.75,75) # 可以不傳遞name參數,使用默認值 您的體重指數為24.5 >>> bmi(1.75,75,'Xufive') # 也可以傳遞name參數 Xufive的體重指數為24.5

現在bmi函數就有了兩種類型的參數:weight和height,它們是函數調用時必不可少的參數,且順序必須與函數定義的保持一致,這樣的參數稱為位置參數;name是函數調用時可有可無的參數(如未提供,則使用默認值),這樣的參數稱為默認參數。默認參數可以有多個。

為了使結果更準確,可以考慮使用最近一段時期內多個體重的均值來計算體重指數,這就意味著需要輸入多個體重值。我們固然可以一個體重的元組或列表傳給weight,但這樣weight和height就不是同一種類型了,在形式上失去了美感,在使用時也容易產生誤會。最好的方式就是讓函數可以接受不確定個數的體重參數。

>>> def bmi(height, *args, name='您'):     i = (sum(args)/len(args))/height**2     print('%s的體重指數為%0.1f'%(name, i))   >>> bmi(1.75, 75, name='xufive') xufive的體重指數為24.5 >>> bmi(1.75, 75, 74) 您的體重指數為24.3 >>> bmi(1.75, 75, 74, 75.5, 74.7, name='xufive') xufive的體重指數為24.4

實際上,像下面這樣調用函數也沒有問題。

>>> weight = [75, 74, 75.5, 74.7] >>> bmi(1.75, *weight, name='xufive') xufive的體重指數為24.4

這下就有點復雜了,bmi函數有了三種類型的參數。除了位置參數和默認參數,又多了一種可變參數,即bmi函數可以接受不限數量的參數。在函數定義時,可變參數名前面冠以“*”號;在函數體內,可變參數相當于一個元組。

如此一來,就產生了一個新的問題:三種類型的參數應該以怎樣的順序被定義呢?位置參數排在首位,這一點沒有異議。默認參數原則上放在最后,但調用時必須加上參數名(如上面的例子),否則函數無法區分究竟是可變參數還是默認參數。默認參數也可以放在可變參數之前(不建議這樣做),但調用時不能使用參數名,即便使用默認值也不能省略參數,否則函數會用后面的可變參數的第一個值(如果有的話)強制為其賦值。

下面說一說更復雜的情況。除了上面介紹的三種類型的參數外,Python函數還支持第四種類型的參數:關鍵字參數。關鍵字參數由不限數量的鍵值對組成。在函數定義時,關鍵字參數名前面冠以“**”號;在函數體內,關鍵字參數相當于一個字典。

>>> def bmi(height, *args, name='您', **kwds):     i = (sum(args)/len(args))/height**2     print('%s的體重指數為%0.1f'%(name, i))     for key in kwds:         print('%s的%s是%s'%(name, key, str(kwds[key])))   >>> bmi(1.75, 75, 74, 75.5, 74.7, name='Xufive') Xufive的體重指數為24.4 >>> bmi(1.75, 75, 74, name='Xufive', 性別='男', 愛好='攝影') Xufive的體重指數為24.3 Xufive的性別是男 Xufive的愛好是攝影 >>> bmi(1.75, 75, 74, 性別='男', 愛好='攝影', name='Xufive') Xufive的體重指數為24.3 Xufive的性別是男 Xufive的愛好是攝影 >>> bmi(1.75, 75, 74, 75.5, 74.7, 性別='男', 愛好='攝影') 您的體重指數為24.4 您的性別是男 您的愛好是攝影

以上就是Python中怎么使用函數的參數類型,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永寿县| 平阳县| 襄城县| 湾仔区| 太湖县| 公主岭市| 南丰县| 沂源县| 南汇区| 曲阳县| 中西区| 旬邑县| 如东县| 石棉县| 新蔡县| 镇巴县| 青岛市| 临泽县| 永定县| 澎湖县| 荔波县| 新竹县| 黄山市| 綦江县| 宁南县| 昭苏县| 呼伦贝尔市| 肇州县| 任丘市| 晋宁县| 雷州市| 安阳县| 海城市| 南京市| 东丽区| 宝鸡市| 佛冈县| 尚志市| 崇左市| 左权县| 和平县|