亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python中函數傳參的多種方式

 更新時間:2024年11月19日 10:28:21   作者:低咒孤書語  
本文主要介紹了Python中函數傳參的幾種方式,包括位置參數、關鍵字參數、缺省參數和不定長參數,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

函數的傳參方式有多種,位置參數、關鍵字參數、缺省參數、不定長參數。不過我們最常用的可能是位置參數,接下來讓我們了解一下我們的參數

一、位置參數

調用函數時,編譯器會將函數的實際參數按照位置順序依次傳遞給形式參數,即將第1個實際參數傳遞給第1個形式參數,將第2個實際參數傳遞給第2個形式參數,依此類推。

其實也就是傳遞的參數和定義的參數順序和個數一樣。

舉個例子

def xuesheng(name,age,gender):
    print(f'學生的名字是{name},年齡是{age},性別是{gender}')

#這是我們定義函數,所以我們調用時就應該按name、age、gender的順序來

xuesheng('李華',18,'男')

 輸出的結果是

學生的名字是李華,年齡是18,性別是男

二、關鍵字參數

使用位置參數傳值時,如果函數中存在多個參數,記住每個參數的位置及其含義并不是一件容易的事,此時可以使用關鍵字參數進行傳遞。關鍵字參數傳遞通過“形式參數 = 實際參數”(“鍵 = 值”)的格式將實際參數與形式參數相關聯,根據形式參數的名稱進行參數傳遞。

示例

def xuesheng(name,age,gender):
    print(f'學生的名字是{name},年齡是{age},性別是{gender}')


xuesheng(name = '李華',age = 18,gender = '男')

此時調用時括號里的age = 18,name = '李華',gender = '男'的順序是可以打亂的,輸出結果都不變

學生的名字是李華,年齡是18,性別是男

當我們函數調用時,如果有位置參數時,位置參數必須在關鍵字參數的前面,但關鍵字參數之間順序可以改變,記住位置參數是一一對應的,不要把后面的寫前面來了

def xuesheng(name,age,gender):
    print(f'學生的名字是{name},年齡是{age},性別是{gender}')

#兩種都有時,前面位置參數只可能是名字,不會是年齡和性別,位置參數是有順序的
xuesheng('李華',gender = '男',age = '18')

關鍵字參數作用:可以讓函數更加清晰、容易使用,同時也清除了參數的順序需求

三、缺省參數(也稱默認參數)

定義函數時可以指定形式參數的默認值,調用函數時,若沒有給帶有默認值的形式參數傳值,則直接使用參數的默認值;若給帶有默認值的形式參數傳值,則實際參數的值會覆蓋默認值。但要注意的時所有位置參數必須出現在默認參數之前,包括函數定義與調用。

 示例

def xuesheng(name,age,gender = '男'):
    print(f'學生的名字是{name},年齡是{age},性別是{gender}')


xuesheng('李華','18')

 結果與前面還是一樣,李華的輸出信息沒改變,如果我們在默認值那改成女,結果輸出就是女(當然也可以在默認為男的時候傳值進去,把他改成女)

四、不定長參數

若要傳入函數中的參數的個數不確定,可以使用不定長參數。不定長參數也稱可變參數,此種參數接收參數的數量可以任意改變。他的類型分為位置傳遞和關鍵字傳遞。

先提前說明一下*args 和 **kwargs 不是特殊的參數,只是編程人員約定的變量名字,args 是 arguments 的縮寫,表示位置參數;kwargs 是 keyword arguments 的縮寫,表示關鍵字參數。 其實并不是一定要寫成 *args 和 **kwargs ,只有前面的 * (星號)才是必須的

1.位置傳遞

def test(*args):
    print(args)
    print(type(args))
#調用函數,傳入任意個參數
test(1,2,3,'我','是','李華')

不定長參數*args用于接收不定數量的位置參數,調用函數時傳入的所有參數被*args接收后以元組形式保存.

#以元組形式存在
(1, 2, 3, '我', '是', '李華')
<class 'tuple'>

2.關鍵字參數

 傳入參數要以“鍵 = 值”的形式才會被接受

def test(**kwargs):
    print(kwargs)
    print(type(kwargs))
#調用函數,傳入任意個參數
test(a = '不',b = '愛',c = '作文')

不定長參數**kwargs用于接收不定數量的關鍵字參數,調用函數時傳入的所有參數被**kwargs接收后以字典形式保存下來。

{'a': '不', 'b': '愛', 'c': '作文'}
<class 'dict'>

小結:

1 位置參數一定要按順序

2 關鍵字參數必須以”鍵 = 值“的形式,如果和位置參數混用,位置參數一定要放前

3 缺省參數默認值一定要放最后

4 不定長參數要分清位置不定長和關鍵字不定長,前者以元組形式接收,"*"號不能忘,

后者以字典形式接收,"**"不能忘

到此這篇關于python中函數傳參的多種方式的文章就介紹到這了,更多相關python 函數傳參內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • pymysql 插入數據 轉義處理方式

    pymysql 插入數據 轉義處理方式

    今天小編就為大家分享一篇pymysql 插入數據 轉義處理方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python3 replace()函數使用方法

    Python3 replace()函數使用方法

    這篇文章主要介紹了Python3 replace()函數使用方法,需要的朋友可以參考下
    2018-03-03
  • Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)

    Pycharm中安裝Pygal并使用Pygal模擬擲骰子(推薦)

    這篇文章主要介紹了Pycharm中安裝Pygal并使用Pygal模擬擲骰子,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python+Selenium實現自動填寫問卷

    Python+Selenium實現自動填寫問卷

    這篇文章主要介紹了如何利用Python Selenium實現自動填寫問卷功能,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下
    2022-03-03
  • 在Django中動態(tài)地過濾查詢集的實現

    在Django中動態(tài)地過濾查詢集的實現

    本文主要介紹了Django中動態(tài)地過濾查詢集的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 一文搞懂Python中pandas透視表pivot_table功能

    一文搞懂Python中pandas透視表pivot_table功能

    透視表是一種可以對數據動態(tài)排布并且分類匯總的表格格式?;蛟S大多數人都在Excel使用過數據透視表,也體會到它的強大功能,而在pandas中它被稱作pivot_table,今天通過本文給大家介紹Python中pandas透視表pivot_table功能,感興趣的朋友一起看看吧
    2021-11-11
  • python控制臺打印log輸出重復的解決方法

    python控制臺打印log輸出重復的解決方法

    在學習了python的函數式編程后,又接觸到了logging這樣一個強大的日志模塊。這篇文章主要給大家介紹了關于python控制臺打印log輸出重復的解決方法,需要的朋友可以參考下
    2021-05-05
  • python畫圖中文不顯示問題的解決方法

    python畫圖中文不顯示問題的解決方法

    python中繪圖時如果標簽或者標題是中文,最后繪出來的圖中的文字會被方框替代,下面這篇文章主要給大家介紹了關于python畫圖中文不顯示問題的解決方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • python實現圖像邊緣檢測

    python實現圖像邊緣檢測

    這篇文章主要為大家詳細介紹了python實現圖像邊緣檢測,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • python中List的sort方法指南

    python中List的sort方法指南

    我們需要對List進行排序,Python提供了兩個方法:1.用List的成員函數sort進行排序;2.用built-in函數sorted進行排序,今天我們就來探討下這2個方法
    2014-09-09

最新評論