最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python中函數(shù)傳參的多種方式

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

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

一、位置參數(shù)

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

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

舉個例子

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

#這是我們定義函數(shù),所以我們調(diào)用時就應(yīng)該按name、age、gender的順序來

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

 輸出的結(jié)果是

學(xué)生的名字是李華,年齡是18,性別是男

二、關(guān)鍵字參數(shù)

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

示例

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


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

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

學(xué)生的名字是李華,年齡是18,性別是男

當(dāng)我們函數(shù)調(diào)用時,如果有位置參數(shù)時,位置參數(shù)必須在關(guān)鍵字參數(shù)的前面,但關(guān)鍵字參數(shù)之間順序可以改變,記住位置參數(shù)是一一對應(yīng)的,不要把后面的寫前面來了

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

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

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

三、缺省參數(shù)(也稱默認(rèn)參數(shù))

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

 示例

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


xuesheng('李華','18')

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

四、不定長參數(shù)

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

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

1.位置傳遞

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

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

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

2.關(guān)鍵字參數(shù)

 傳入?yún)?shù)要以“鍵 = 值”的形式才會被接受

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

不定長參數(shù)**kwargs用于接收不定數(shù)量的關(guān)鍵字參數(shù),調(diào)用函數(shù)時傳入的所有參數(shù)被**kwargs接收后以字典形式保存下來。

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

小結(jié):

1 位置參數(shù)一定要按順序

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

3 缺省參數(shù)默認(rèn)值一定要放最后

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

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

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

相關(guān)文章

  • python re的findall和finditer的區(qū)別詳解

    python re的findall和finditer的區(qū)別詳解

    這篇文章主要介紹了python re的findall和finditer的區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python入門教程(七)Python數(shù)字類型

    Python入門教程(七)Python數(shù)字類型

    這篇文章主要介紹了Python入門教程(七)Python數(shù)字類型,Python是一門非常強大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • 為Python程序添加圖形化界面的教程

    為Python程序添加圖形化界面的教程

    這篇文章主要介紹了為Python程序添加圖形化界面的教程,圖形化界面編程是開發(fā)Python本地應(yīng)用的必備,需要的朋友可以參考下
    2015-04-04
  • Python時區(qū)設(shè)置方法與pytz查詢時區(qū)教程

    Python時區(qū)設(shè)置方法與pytz查詢時區(qū)教程

    這篇文章主要介紹了Python時區(qū)設(shè)置的方法和pytz查詢時區(qū)的方法,大家參考使用吧
    2013-11-11
  • python redis連接 有序集合去重的代碼

    python redis連接 有序集合去重的代碼

    這篇文章主要介紹了python redis連接 有序集合去重的代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-08-08
  • Pandas?計算相關(guān)性系數(shù)corr()方式

    Pandas?計算相關(guān)性系數(shù)corr()方式

    這篇文章主要介紹了Pandas?計算相關(guān)性系數(shù)corr()方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    今天小編就為大家分享一篇Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 一文帶你掌握Python自然語言處理庫SpaCy

    一文帶你掌握Python自然語言處理庫SpaCy

    SpaCy是一個非常強大的Python自然語言處理庫,它包含了眾多強大功能,如詞性標(biāo)注、命名實體識別、依賴關(guān)系解析等等,這篇文章的目標(biāo)是幫助你了解SpaCy的基本功能和如何使用,需要的朋友可以參考下
    2023-07-07
  • 利用Python如何實現(xiàn)K-means聚類算法

    利用Python如何實現(xiàn)K-means聚類算法

    聚類算法有很多種(幾十種),K-Means是聚類算法中的最常用的一種,算法最大的特點是簡單,好理解,運算速度快,下面這篇文章主要給大家介紹了關(guān)于利用Python如何實現(xiàn)K-means聚類算法的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python多繼承以及MRO順序的使用

    Python多繼承以及MRO順序的使用

    這篇文章主要介紹了Python多繼承以及MRO順序的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

泰兴市| 收藏| 西乡县| 彭州市| 德阳市| 滕州市| 崇明县| 临漳县| 项城市| 东明县| 舞钢市| 抚顺市| 江永县| 喀什市| 昂仁县| 兰考县| 禄丰县| 东至县| 贡觉县| 新绛县| 凤翔县| 中超| 乌审旗| 五大连池市| 赣榆县| 安顺市| 沈阳市| 石城县| 昭苏县| 岐山县| 灵寿县| 奈曼旗| 尼勒克县| 灵丘县| 民乐县| 赤峰市| 奉贤区| 页游| 嵩明县| 水城县| 保山市|