亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

肥东县| 油尖旺区| 玉树县| 青岛市| 伊川县| 偃师市| 诏安县| 西城区| 博白县| 乐安县| 克山县| 嘉黎县| 梅河口市| 潮州市| 凤城市| 古丈县| 读书| 新巴尔虎左旗| 三河市| 海口市| 昌都县| 安岳县| 民乐县| 精河县| 湾仔区| 施秉县| 文昌市| 临沂市| 永康市| 西青区| 青河县| 钦州市| 泗水县| 依兰县| 卫辉市| 报价| 镇远县| 武宁县| 兴隆县| 洪雅县| 彩票|