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

溫馨提示×

溫馨提示×

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

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

Python中怎么自定義函數與無限參數

發布時間:2021-07-28 11:39:57 來源:億速云 閱讀:522 作者:Leah 欄目:大數據

這期內容當中小編將會給大家帶來有關Python中怎么自定義函數與無限參數,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。


為什么需要函數

如果要你表達 1 + 2 ,初學者都能寫出如下代碼:

Python中怎么自定義函數與無限參數

這沒什么特別了不起的地方,但是下一次仍然是2個數值相加,但是我希望2個數值可以很方便修改:

Python中怎么自定義函數與無限參數

  • 為了方便修改,只要定義2個變量代表2個數值,放在代碼的最上方

但是,現在如果我希望在另一個地方執行,那么變量名字不能隨意修改,這非常不好。

此時,我們更希望有一個東西,能夠把2個變量以及變量之間的相加行為合并成一個東西,這就是函數:

Python中怎么自定義函數與無限參數

  • 行1:def 函數名字(參數1,參數2): 這定義一個函數

  • 行2:函數中的行為是"把 a 和 b 相加,并把結果返回"。reutrn 返回值 ,可以返回任何東西,例如之前我們學過的列表、元組、字典等等,這里我們只是把 a + b 的結果(是一個數值)返回

  • 行4:實際調用這個函數, 函數名字() ,表示執行某個函數。這里的括號非常重要

現在,mysum 已經是一個代表2個數值相加這一行為的函數,在任何地方都可以調用他得到結果:

Python中怎么自定義函數與無限參數

  • 之前我特別強調把2個變量以及變量之間的相加行為合并成一個東西

  • 可以看到,雖然 mysum 函數中的參數同樣叫 a 和 b ,但是他們只在函數中才有效,不會受到外界同名的變量影響

現在函數看起來不錯,但是他離我們的期望還有很遠。如果我們希望對3個數求和,就要寫:

Python中怎么自定義函數與無限參數

  • 這太糟糕了!!!


 

無限參數

我們希望 mysum 函數能接受任意多個數值,然后返回這些數值的總和。

任意個數值?這與列表有點相似吧。例如:

Python中怎么自定義函數與無限參數

  • 行3:x = x + n ,這會先執行等號右邊的 x + n ,其結果賦值給變量 x

  • 行5:此時經過遍歷后累加的 x ,就是列表數值的總和

那么,要讓 mysum 函數接受無數個數值的辦法就是:

Python中怎么自定義函數與無限參數

  • 這似乎是一個辦法,但是調用的時候代碼很丑(看看上面的行8)

  • 以前的調用 mysum(1,2) 多漂亮呀


有沒有一個辦法,能讓 Python 幫我收集 mysum 傳入的參數,放入一個列表中?

Python中怎么自定義函數與無限參數

看看這個機制的表達:

Python中怎么自定義函數與無限參數

  • 行1:在參數 nums 前面添加一個 星號(*),表示調用時,可以傳入任意個參數,這些參數全收集到一個列表參數中

現在,mysum 這個自定義函數真不錯。

你心血來潮,嘗試之前那個丑陋的調用:

Python中怎么自定義函數與無限參數

  • 竟然報錯了

  • 這似乎沒所謂,但是很多時候我們拿著一個列表的數值希望調用我們的 mysum 函數,并期望他直接給我正確的結果


 

解包

有沒有一種操作,能自動把一個列表中的元素拆解成一個個的元素?

Python中怎么自定義函數與無限參數

解決方法仍然是星號,就是這么巧合:

Python中怎么自定義函數與無限參數

  • 在調用的時候,在列表之前添加一個 星號(*),表示拆解這個列表[1,2,3]

有點混淆了,記住這個圖吧:

Python中怎么自定義函數與無限參數


上述就是小編為大家分享的Python中怎么自定義函數與無限參數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

东乌珠穆沁旗| 绥德县| 平阳县| 苏州市| 平远县| 北票市| 青阳县| 曲沃县| 沂源县| 辽阳市| 苏尼特左旗| 鹿泉市| 长武县| 花垣县| 昔阳县| 镇沅| 谷城县| 玉树县| 会同县| 靖州| 铜陵市| 阿勒泰市| 宜阳县| 江孜县| 磐石市| 凌源市| 邢台县| 汉寿县| 东方市| 永善县| 林芝县| 浦县| 闸北区| 孝义市| 延安市| 瓮安县| 宝鸡市| 岳阳县| 五原县| 和田县| 阜南县|