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

Python 帶星號(* 或 **)的函數(shù)參數(shù)詳解

 更新時間:2021年02月23日 10:02:33   作者:Jianzhi.Z  
這篇文章主要介紹了Python 帶星號(* 或 **)的函數(shù)參數(shù)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1. 帶默認(rèn)值的參數(shù)

在了解帶星號(*)的參數(shù)之前,先看下帶有默認(rèn)值的參數(shù),函數(shù)定義如下:

>> def defaultValueArgs(common, defaultStr = "default", defaultNum = 0):
    print("Common args", common)
    print("Default String", defaultStr)
    print("Default Number", defaultNum) 
 

(1)帶默認(rèn)值的參數(shù)(defaultStr、defaultNum)不傳參時的調(diào)用:

>> defaultValueArgs("Test")
 
Common args Test
Default String default
Default Number 0
 

(2)帶默認(rèn)值的參數(shù)(defaultStr、defaultNum),調(diào)用的時候可以直接傳參(如下例中的defaultStr),也可以寫成“argsName = value”的形式(如下例中的defaultNum):

>> defaultValueArgs("Test", "Str", defaultNum = 1)
 
Common args Test
Default String Str
Default Number 1
 
>> defaultValueArgs("Test", defaultNum = 1)
 
Common args Test
Default String default
Default Number 1

注意:在函數(shù)定義時,第一個帶有默認(rèn)值的參數(shù)之后的所有參數(shù)都必須有默認(rèn)值,否則,運行時報錯。

>> def defaultValueArgs(common, defaultStr = "default", defaultNum):
    print("Common args", common)
    print("Default String", defaultStr)
    print("Default Number", defaultNum)
    
SyntaxError: non-default argument follows default argument
 

2.帶一個星號(*)的函數(shù)參數(shù)

帶一個參數(shù)的函數(shù)定義如下:

>> def singalStar(common, *rest):
  print("Common args: ", common)
    print("Rest args: ", rest)

(1)帶星號(*)的參數(shù)不傳參:

>> singalStar("hello")
 
Common args: hello
Rest args: ()

帶星號(*)的參數(shù)不傳參時默認(rèn)是一個空的元組。

(2)帶星號(*)的參數(shù)傳入多個值時(個數(shù)大于或等于函數(shù)定義時的參數(shù)個數(shù)):

>> singalStar("hello", "world", 000)
 
Common args: hello
Rest args: ('world', 0)

不難看出,第二種方式中,星號參數(shù)把接收的多個參數(shù)合并為一個元組。

(3)當(dāng)我們直接傳元組類型的值給星號參數(shù)時:

>> singalStar("hello", ("world", 000))
 
Common args: hello
Rest args: (('world', 0),)

此時,傳遞的元組值作為了星號參數(shù)的元組中的一個元素。

(4)如果我們想把元組作為星號參數(shù)的參數(shù)值,在元組值前加上" * " 即可。

>> singalStar("hello", *("world", 000))
Common args: hello
Rest args: ('world', 0)

>> singalStar("hello", *("world", 000), "123")
Common args: hello
Rest args: ('world', 0, '123')

3.帶兩個星號(**)的函數(shù)參數(shù)

帶兩個星號(**)的函數(shù)定義如下:

>> def doubleStar(common, **double):
    print("Common args: ", common)
    print("Double args: ", double)

(1)雙星號(**)參數(shù)不傳值:

>> doubleStar("hello")
 
Common args: hello
Double args: {}

帶雙星號(**)的參數(shù)不傳值時默認(rèn)是一個空的字典。

(2)雙星號(**)參數(shù)傳入多個參數(shù)時(個數(shù)大于或等于函數(shù)定義時的參數(shù)個數(shù)):

>> doubleStar("hello", "Test", 24)
TypeError: doubleStar() takes 1 positional argument but 3 were given

>> doubleStar("hello", x = "Test", y = 24)
Common args: hello
Double args: {'x': 'Test', 'y': 24}

可以看到,雙星號參數(shù)把接收的多個參數(shù)合并為一個字典,但與單星號不同的是,此時必須采用默認(rèn)值傳參的 “ args = value ” 的方式,“ = ” 前的字段成了字典的鍵,“ = ” 后的字段成了字典的值。

(3)如果想把字典作為星號參數(shù)的參數(shù)值,那么該怎么辦呢?與單星號參數(shù)類似,在字典值前加上 “ ** ”,同時其后不能添加任何值。

>> doubleStar("hello", {"name": "Test", "age": 24})
TypeError: doubleStar() takes 1 positional argument but 2 were given

>> doubleStar("hello", **{"name": "Test", "age": 24}, {"name": "Test2", "age": 24})
SyntaxError: positional argument follows keyword argument unpacking

>> doubleStar("hello", **{"name": "Test", "age": 24}, **{"name": "Test2", "age": 24})
TypeError: doubleStar() got multiple values for keyword argument 'name'

>> doubleStar("hello", **{"name": "Test", "age": 24})
Common args: hello
Double args: {'name': 'Test', 'age': 24}

4、在有些情況下,單星號函數(shù)參數(shù)和雙星號函數(shù)參數(shù)是一起使用的:

def singalAndDoubleStar(common, *single, **double):
  print("Common args: ", common)
  print("Single args: ", single)
  print("Double args: ", double)

singalAndDoubleStar("hello")
# Common args: hello
# Single args: ()
# Double args: {}
singalAndDoubleStar("hello", "world", 000)
# Common args: hello
# Single args: ('world', 0)
# Double args: {}
singalAndDoubleStar("hello", "world", 000, {"name": "Test", "age": 24})
# Common args: hello
# Single args: ('world', 0, {'name': 'Test', 'age': 24})
# Double args: {}
singalAndDoubleStar("hello", "world", 000, **{"name": "Test", "age": 24})
# Common args: hello
# Single args: ('world', 0)
# Double args: {'name': 'Test', 'age': 24}
singalAndDoubleStar("hello", ("world", 000), {"name": "Test", "age": 24})
# Common args: hello
# Single args: (('world', 0), {'name': 'Test', 'age': 24})
# Double args: {}
singalAndDoubleStar("hello", *("world", 000), {"name": "Test", "age": 24}) 
# Common args: hello
# Single args: ('world', 0, {'name': 'Test', 'age': 24})
# Double args: {}
singalAndDoubleStar("hello", *("world", 000), **{"name": "Test", "age": 24})
# Common args: hello
# Single args: ('world', 0)
# Double args: {'name': 'Test', 'age': 24}

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

  • Python深度學(xué)習(xí)之Unet?語義分割模型(Keras)

    Python深度學(xué)習(xí)之Unet?語義分割模型(Keras)

    這篇文章主要介紹了語義分割任務(wù)中Unet一個有意思的模型-Keras。Keras是一個由Python編寫的開源人工神經(jīng)網(wǎng)絡(luò)庫,可進(jìn)行深度學(xué)習(xí)模型的設(shè)計、調(diào)試、評估、應(yīng)用和可視化。感興趣的小伙伴快來跟隨小編一起學(xué)習(xí)一下吧
    2021-12-12
  • pycharm設(shè)置虛擬環(huán)境與更換鏡像教程

    pycharm設(shè)置虛擬環(huán)境與更換鏡像教程

    這篇文章主要介紹了pycharm設(shè)置虛擬環(huán)境與更換鏡像教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Python+Matplotlib繪制帶有對角線的散點圖的示例代碼

    Python+Matplotlib繪制帶有對角線的散點圖的示例代碼

    Matplotlib 是一個用于繪制二維圖形的 Python 庫,這篇文章主要介紹了Python如何利用Matplotlib繪制帶有對角線的散點圖,需要的小伙伴可以參考一下
    2023-06-06
  • Python實現(xiàn)xml格式轉(zhuǎn)txt格式的示例代碼

    Python實現(xiàn)xml格式轉(zhuǎn)txt格式的示例代碼

    VOC 的標(biāo)注是xml格式的,而YOLO是.txt格式,所以要實現(xiàn)VOC數(shù)據(jù)集轉(zhuǎn)YOLO數(shù)據(jù)集,只能利用代碼實現(xiàn)。所以本文為大家介紹了Python中xml轉(zhuǎn)txt的示例代碼,需要的可以參考一下
    2022-03-03
  • 利用PyQt5生成過年春聯(lián)

    利用PyQt5生成過年春聯(lián)

    這篇文章主要介紹了如何利用PyQt5生成過年春聯(lián)。通過在界面上輸入春聯(lián)的上、下批和橫批漢字從而生成春聯(lián)圖像,最后將春聯(lián)圖片保存。需要的可以參考一下
    2022-01-01
  • Python實現(xiàn)將Excel內(nèi)容批量導(dǎo)出為PDF文件

    Python實現(xiàn)將Excel內(nèi)容批量導(dǎo)出為PDF文件

    這篇文章主要為大家介紹了如何利用Python實現(xiàn)將Excel表格內(nèi)容批量導(dǎo)出為PDF文件,文中的實現(xiàn)步驟講解詳細(xì),感興趣的小伙伴可以了解一下
    2022-04-04
  • OpenCV基礎(chǔ)操作指南之圖片的讀取與寫出

    OpenCV基礎(chǔ)操作指南之圖片的讀取與寫出

    圖像處理依賴于得到一幅圖像(例如,一張照片和一個視頻幀)并通過應(yīng)用信號處理技術(shù)的“播放”(playing)來得到預(yù)期的結(jié)果,這篇文章主要給大家介紹了關(guān)于OpenCV基礎(chǔ)操作指南之圖片讀取與寫出的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • Python中處理Session和Cookie的方法

    Python中處理Session和Cookie的方法

    這篇文章主要介紹了Python中處理Session和Cookie的方法,本文介紹了Python中如何處理Session和Cookie,包括獲取、設(shè)置、刪除和使用Session和Cookie的相關(guān)方法和技巧,主要涉及Python的requests、http.cookiejar和Flask等庫和框架
    2023-05-05
  • 用Python寫的圖片蜘蛛人代碼

    用Python寫的圖片蜘蛛人代碼

    寫了個圖片蜘蛛人玩玩,抓了幾個網(wǎng)頁試試,感覺不不錯。核心的代碼可能20行也不到,簡潔明了,嘻嘻。廢話少說,翠花,上代碼
    2012-08-08
  • 最新評論

    城口县| 同仁县| 甘孜县| 民丰县| 东丽区| 永川市| 安达市| 西吉县| 永春县| 皮山县| 肇州县| 县级市| 泽库县| 宁安市| 常德市| 昆山市| 惠州市| 楚雄市| 霍州市| 温州市| 平顶山市| 托里县| 平江县| 陆良县| 石林| 富顺县| 蒙自县| 湟中县| 读书| 呼伦贝尔市| 绍兴市| 临泉县| 亳州市| 仙游县| 绍兴市| 农安县| 通化县| 柳林县| 大埔区| 彭州市| 分宜县|