python中含參數(shù)函數(shù) python函數(shù)的參數(shù)類型有幾種

Python函數(shù)的參數(shù)類型

Python函數(shù)的參數(shù)類型主要包括必選參數(shù)、可選參數(shù)、可變參數(shù)、位置參數(shù)和關(guān)鍵字參數(shù),本文介紹一下他們的定義以及可變數(shù)據(jù)類型參數(shù)傳遞需要注意的地方。

云夢ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

必選參數(shù)(Required arguments)是必須輸入的參數(shù),比如下面的代碼,必須輸入2個參數(shù),否則就會報(bào)錯:

其實(shí)上面例子中的參數(shù) num1和num2也屬于關(guān)鍵字參數(shù),比如可以通過如下方式調(diào)用:

執(zhí)行結(jié)果:

可選參數(shù)(Optional arguments)可以不用傳入函數(shù),有一個默認(rèn)值,如果沒有傳入會使用默認(rèn)值,不會報(bào)錯。

位置參數(shù)(positional arguments)根據(jù)其在函數(shù)定義中的位置調(diào)用,下面是pow()函數(shù)的幫助信息:

x,y,z三個參數(shù)的的順序是固定的,并且不能使用關(guān)鍵字:

輸出:

在上面的pow()函數(shù)幫助信息中可以看到位置參數(shù)后面加了一個反斜杠 / ,這是python內(nèi)置函數(shù)的語法定義,Python開發(fā)人員不能在python3.8版本之前的代碼中使用此語法。但python3.0到3.7版本可以使用如下方式定義位置參數(shù):

星號前面的參數(shù)為位置參數(shù)或者關(guān)鍵字參數(shù),星號后面是強(qiáng)制關(guān)鍵字參數(shù),具體介紹見強(qiáng)制關(guān)鍵字參數(shù)。

python3.8版本引入了強(qiáng)制位置參數(shù)(Positional-Only Parameters),也就是我們可以使用反斜杠 / 語法來定義位置參數(shù)了,可以寫成如下形式:

來看下面的例子:

python3.8運(yùn)行:

不能使用關(guān)鍵字參數(shù)形式賦值了。

可變參數(shù) (varargs argument) 就是傳入的參數(shù)個數(shù)是可變的,可以是0-n個,使用星號( * )將輸入?yún)?shù)自動組裝為一個元組(tuple):

執(zhí)行結(jié)果:

關(guān)鍵字參數(shù)(keyword argument)允許將任意個含參數(shù)名的參數(shù)導(dǎo)入到python函數(shù)中,使用雙星號( ** ),在函數(shù)內(nèi)部自動組裝為一個字典。

執(zhí)行結(jié)果:

上面介紹的參數(shù)可以混合使用:

結(jié)果:

注意:由于傳入的參數(shù)個數(shù)不定,所以當(dāng)與普通參數(shù)一同使用時(shí),必須把帶星號的參數(shù)放在最后。

強(qiáng)制關(guān)鍵字參數(shù)(Keyword-Only Arguments)是python3引入的特性,可參考:。 使用一個星號隔開:

在位置參數(shù)一節(jié)介紹過星號前面的參數(shù)可以是位置參數(shù)和關(guān)鍵字參數(shù)。星號后面的參數(shù)都是強(qiáng)制關(guān)鍵字參數(shù),必須以指定參數(shù)名的方式傳參,如果強(qiáng)制關(guān)鍵字參數(shù)沒有設(shè)置默認(rèn)參數(shù),調(diào)用函數(shù)時(shí)必須傳參。

執(zhí)行結(jié)果:

也可以在可變參數(shù)后面命名關(guān)鍵字參數(shù),這樣就不需要星號分隔符了:

執(zhí)行結(jié)果:

在Python對象及內(nèi)存管理機(jī)制中介紹了python中的參數(shù)傳遞屬于對象的 引用傳遞 (pass by object reference),在編寫函數(shù)的時(shí)候需要特別注意。

先來看個例子:

執(zhí)行結(jié)果:

l1 和 l2指向相同的地址,由于列表可變,l1改變時(shí),l2也跟著變了。

接著看下面的例子:

結(jié)果:

l1沒有變化!為什么不是[1, 2, 3, 4]呢?

l = l + [4]表示創(chuàng)建一個“末尾加入元素 4“的新列表,并讓 l 指向這個新的對象,l1沒有進(jìn)行任何操作,因此 l1 的值不變。如果要改變l1的值,需要加一個返回值:

結(jié)果:

下面的代碼執(zhí)行結(jié)果又是什么呢?

執(zhí)行結(jié)果:

和第一個例子一樣,l1 和 l2指向相同的地址,所以會一起改變。這個問題怎么解決呢?

可以使用下面的方式:

也可以使用淺拷貝或者深度拷貝,具體使用方法可參考Python對象及內(nèi)存管理機(jī)制。這個問題在Python編程時(shí)需要特別注意。

本文主要介紹了python函數(shù)的幾種參數(shù)類型:必選參數(shù)、可選參數(shù)、可變參數(shù)、位置參數(shù)、強(qiáng)制位置參數(shù)、關(guān)鍵字參數(shù)、強(qiáng)制關(guān)鍵字參數(shù),注意他們不是完全獨(dú)立的,比如必選參數(shù)、可選參數(shù)也可以是關(guān)鍵字參數(shù),位置參數(shù)可以是必選參數(shù)或者可選參數(shù)。

另外,python中的參數(shù)傳遞屬于對象的 引用傳遞 ,在對可變數(shù)據(jù)類型進(jìn)行參數(shù)傳遞時(shí)需要特別注意,如有必要,使用python的拷貝方法。

參考文檔:

--THE END--

python里面的參數(shù)函數(shù)方法是怎么個意思

*代表的是參數(shù)個數(shù)不確定的情況;帶一個星號(*)參數(shù)的函數(shù)傳人的參數(shù)存儲為一個元組(tuple);而帶兩個星號(*)參數(shù)的函數(shù)傳人的參數(shù)則存儲為一個字典(dict);由于傳入的參數(shù)個數(shù)不定,所以當(dāng)與普通參數(shù)一同使用時(shí),必須把帶星號的參數(shù)放在最后。

簡述python函數(shù)中參數(shù)的幾種形態(tài)

在調(diào)用函數(shù)時(shí),通常會傳遞參數(shù),函數(shù)內(nèi)部的代碼保持不變,針對 不同的參數(shù)處理不同的數(shù)據(jù)。

有位置傳參、關(guān)鍵字傳參、默認(rèn)值參數(shù)、多值參數(shù)等。

1、參數(shù)傳遞

形參和實(shí)參:

形參:定義 函數(shù)時(shí)的 參數(shù)變量

實(shí)參:調(diào)用 函數(shù)時(shí),使用的參數(shù)變量

參數(shù)傳遞的過程,就是 把實(shí)參的引用 傳遞給 形參 ,使用實(shí)參的值來執(zhí)行函數(shù)體的過程。

在 Python 中,函數(shù)的 實(shí)參/返回值 都是是靠 引用 來傳遞來的

2、位置實(shí)參

按照參數(shù)位置,依次傳遞參數(shù),這是最普通的方式。

?

本文標(biāo)題:python中含參數(shù)函數(shù) python函數(shù)的參數(shù)類型有幾種
文章地址:http://www.kartarina.com/article6/dosgdog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)網(wǎng)站排名App設(shè)計(jì)網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
主站蜘蛛池模板: 久久精品无码一区二区日韩AV| 国产午夜无码精品免费看| 人妻少妇无码视频在线| 国产午夜无码片在线观看 | 中文字幕人成无码免费视频| 日本无码WWW在线视频观看| 日韩视频无码日韩视频又2021| 无码国内精品久久人妻蜜桃| 夫妻免费无码V看片| 免费A级毛片无码A∨ | 免费无码婬片aaa直播表情| 无码H肉动漫在线观看| 日韩人妻无码精品专区| 狠狠精品干练久久久无码中文字幕| 一本大道东京热无码一区| 韩国精品一区二区三区无码视频 | 国产精品va无码一区二区| 日韩久久无码免费毛片软件| 亚洲国产日产无码精品| 国产成人精品无码片区在线观看 | 大胆日本无码裸体日本动漫| 无码人妻精品一区二区在线视频| 亚洲人成无码网站久久99热国产| 少妇特殊按摩高潮惨叫无码| 亚洲av无码片区一区二区三区| 亚洲AV永久纯肉无码精品动漫| 亚洲熟妇无码八AV在线播放| 无码人妻精品一区二| 无码色AV一二区在线播放| 成人年无码AV片在线观看| 日韩精品无码成人专区| 亚洲AV无码之国产精品| (无码视频)在线观看| 无码av大香线蕉伊人久久| 国产做无码视频在线观看| 免费人妻av无码专区| 无码乱码观看精品久久 | 亚洲精品无码久久久久久| 无码八A片人妻少妇久久| 亚洲国产成人精品无码区二本| 老司机无码精品A|