bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

python引用函數參數,python引用函數參數和函數里設置的不一樣

python-函數可變參數類型

python中的函數,大多需要配置參數,以下是幾種函數的參數類型:

創新互聯建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站制作、成都網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的九原網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!

1.必備參數:以正確的順序、個數傳入函數。調用時的參數情況要和聲明時一樣。最常用的情況。

def tplink(a,b):

c=a+b+b

return c?

tplink(4,2)

2.關鍵字參數:使用關鍵字參數允許函數調用時參數的順序和聲明時不一致,因為python解析器會在調用函數時,用參數名匹配參數值。

def tplink(age1,age2):

ageall=age1+age2+age2

return ageall

tplink(age2=4,age1=2)

3.默認參數:默認某個參數的取值

def tplink(age1,age2=5):

ageall=age1+age2+age2

return ageall

tplink(age1=4)

4.不定長參數:在聲明時并不確定 調用時的參數數量。這種情況,可以用不定長參數進行解決,具體操作是在參數名前用*。

但不能和 關鍵字參數并用。一般在正常參數arg之后。

*args、**kwargs的定義:

這兩個都是python中的不定長參數,又稱為可變參數。

*args 表示任何多個無名參數,它是一個 tuple ;

**kwargs 表示關鍵字參數,它是一個dict。

同時使用 * args和 ** kwargs 時,必須 * args參數列要在 ** kwargs前。且都在arg之后。

函數在調用時,會根據順序,看是否放進 *args 或者 **kwargs中。

具體可根據實際情況使用,可以 更方便靈活的接收信息。

Python參數類型

上一期我們學習參數傳遞怎么傳遞,也了解了參數的幾種類型。

首先,我們再來回顧一下,形參和實參:

形參是在定義函數時定義的,放在函數名后面的圓括號里,可為空

實參是調用函數時為形參傳入具體的參數值

簡單總結一下,誰調用函數,誰就負責傳入參數。

好吶,本期我們來詳細學習函數幾種參數類型,大綱如下:

python函數的參數名是無意義的,Python允許在調用函數時通過通過名字來傳入參數值。

位置參數:按照形參位置傳入的參數

調用函數時,實參默認按位置順序傳遞的。同時實參個數也要和形參匹配

舉一個小栗子

如果實參的個數與形參不匹配時,調用函數運行就會報錯

Python中,形參與調用函數緊密聯系在一起的。

關鍵字參數:調用函數時,使形參名稱來傳遞參數,形式為“形參名=實參”

關鍵字參數,又叫命名參數,傳遞時無需考慮參數位置和順序

舉一個小栗子

默認參數:定義函數時,我們可以為形參提前設置具體的值。

在定義函數時,默認參數要放到位置等其他參數后面

在調用函數時,默認參數是可選的。如果傳入新值,則會覆蓋默認值

舉一個小栗子

注意,默認值不能位于位置參數前面,否則程序會報錯誤

不定長參數又名可變參數。

不定長參數指的是可變數量的參數,分兩種情況:

如果不定長參數后面,可以新增參數嗎?

我們通過例子來看,會發生什么?

運行上面的程序,Python解釋器會報錯

原因是,形參a已經是不定長參數,我們調用的test(2,3,4)傳入的三個實參,系統自動把它們屬于形參a的值,形參b 和形參c就等于沒有值傳入,這時候系統就認為,調用函數的對象,參數沒有傳夠。

為了解決這一報錯,python引入了 強制命名參數

規定,調用不定參數后面有跟位置參數的函數時,傳入給位置參數時,必須要強制命名參進行傳參。

逆向參數收集針對的對象傳入函數的實參

調用函數時,如果實參是元組,列表或者字典,通過在實參前面加入星號,可以自動把元素進行隔開,然后再轉入給函數進行處理

舉一個小栗子

本期,我們詳細學習了參數幾種類型,為后面我們學習函數,打好基礎。

實踐是檢驗真理的過程,大家多動手練習練習,會有不一樣的奇妙旅程~

好吶,以上是本期內容,歡迎大佬們評論區指正~

Python函數的參數類型

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

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

其實上面例子中的參數 num1和num2也屬于關鍵字參數,比如可以通過如下方式調用:

執行結果:

可選參數(Optional arguments)可以不用傳入函數,有一個默認值,如果沒有傳入會使用默認值,不會報錯。

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

x,y,z三個參數的的順序是固定的,并且不能使用關鍵字:

輸出:

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

星號前面的參數為位置參數或者關鍵字參數,星號后面是強制關鍵字參數,具體介紹見強制關鍵字參數。

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

來看下面的例子:

python3.8運行:

不能使用關鍵字參數形式賦值了。

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

執行結果:

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

執行結果:

上面介紹的參數可以混合使用:

結果:

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

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

在位置參數一節介紹過星號前面的參數可以是位置參數和關鍵字參數。星號后面的參數都是強制關鍵字參數,必須以指定參數名的方式傳參,如果強制關鍵字參數沒有設置默認參數,調用函數時必須傳參。

執行結果:

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

執行結果:

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

先來看個例子:

執行結果:

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

接著看下面的例子:

結果:

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

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

結果:

下面的代碼執行結果又是什么呢?

執行結果:

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

可以使用下面的方式:

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

本文主要介紹了python函數的幾種參數類型:必選參數、可選參數、可變參數、位置參數、強制位置參數、關鍵字參數、強制關鍵字參數,注意他們不是完全獨立的,比如必選參數、可選參數也可以是關鍵字參數,位置參數可以是必選參數或者可選參數。

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

參考文檔:

--THE END--

網頁題目:python引用函數參數,python引用函數參數和函數里設置的不一樣
當前地址:http://vcdvsql.cn/article26/heoijg.html

成都網站建設公司_創新互聯,為您提供ChatGPT網站建設網站內鏈網站設計公司動態網站企業建站

廣告

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

綿陽服務器托管