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

python 星號(hào)(*)的多種用途

 更新時(shí)間:2020年09月21日 10:56:20   作者:Sight Tech.  
這篇文章主要介紹了python 星號(hào)(*)的多種用途,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

結(jié)論

概括的來(lái)說(shuō),就是對(duì)修飾的變量進(jìn)行拆分, 對(duì)修飾的形式參數(shù)進(jìn)行參數(shù)聚集。
單*號(hào),將被修飾的變量按元素方式拆分, 對(duì)修飾的形式參數(shù)進(jìn)行參數(shù)聚集。
雙**號(hào),將被修飾的變量按鍵值對(duì)進(jìn)行拆分, 對(duì)修飾的形式參數(shù)進(jìn)行參數(shù)聚集。

修飾實(shí)例變量時(shí)

  • 作用: 講被修飾的實(shí)例變量或者可迭代對(duì)象進(jìn)行拆分
def func3(a, b, c):
  print("param a is {}, param b is {}, param c is {}".format(a, b, c))


if __name__ == '__main__':
  arr1 = [1, 2, 3]
  print(arr1, sep='\t') # [1, 2, 3]\t 正常輸出
  print(*arr1, sep='\t') # 1\t2\t3 每個(gè)數(shù)字中間以\t分割

  arr2 = [[1, 2, 3], [3, 4, 5], [5, 6, 7]]
  print(list(zip(*arr2))) # [(1, 3, 5), (2, 4, 6), (3, 5, 7)] 二維數(shù)組的行轉(zhuǎn)列

  dictionary = {'a': 1, 'b': 2, 'c': 3}
  print(dictionary, sep='\t') # {'a': 1, 'b': 2, 'c': 3}\t 正常輸出
  print(*dictionary, sep='\t') # a\tb\tc\t 每個(gè)字母中間以\t分割


  print(func3(**dictionary)) # param a is 1, param b is 2, param c is 3

比較使用和不使用*號(hào)后產(chǎn)生的結(jié)果就可以發(fā)現(xiàn),單*號(hào)將可迭代對(duì)象進(jìn)行了拆分,按單個(gè)元素方式依次將數(shù)據(jù)傳進(jìn)方法。
配合其他方法使用可以優(yōu)雅的完成矩陣的行轉(zhuǎn)列操作。

雙**號(hào)的使用,是將變量對(duì)象拆分成鍵值對(duì)的形式,所以只有dict類型可以使用。
注意上面的func3,他需要三個(gè)形參,但是我們只傳入**dict_obj, 就完成了功能。

可迭代對(duì)象有:list, dict, tuple, generator, iterator

出現(xiàn)在方法的形式參數(shù)位置

  • 作用: 放在參數(shù)列表的末尾, 作為不定長(zhǎng)的參數(shù)列表的形參接受對(duì)象。 (可以類比Java的可變參數(shù)列表)
def func1(*args):
  print("type", type(args)) # type <class 'tuple'>
  print("all arguments: ", args) # all arguments: (1, 2, 3)
  print("second argument: ", args[1]) # second argument: 2


def func2(**kw):
  print("type", type(kw)) # type <class 'dict'>
  print("all arguments: ", kw) # all arguments: {'a': 1, 'b': 2, 'c': 3}
  print("second argument: ", kw['a']) # second argument: 1


if __name__ == '__main__':
  a, b, c = 1, 2, 3

  func1(a, b, c)
  func2(a=a, b=b, c=c)

盡管函數(shù)func1的形參只有一個(gè),但被傳遞三個(gè)參數(shù),程序還是可以正常運(yùn)行。
因?yàn)?args將三個(gè)參數(shù)以tuple形式存儲(chǔ),作為一個(gè)整體傳遞給方法func1。

同理,func2的**kw形參將傳入的三個(gè)參數(shù)壓成一個(gè)dict進(jìn)行使用。

具體實(shí)驗(yàn)代碼可以通過(guò)Github獲得。

以上就是python 星號(hào)(*)的多種用途的詳細(xì)內(nèi)容,更多關(guān)于python 星號(hào)(*)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python aiohttp的使用詳解

    python aiohttp的使用詳解

    這篇文章主要介紹了python aiohttp的使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 使用pandas計(jì)算環(huán)比和同比的方法實(shí)例

    使用pandas計(jì)算環(huán)比和同比的方法實(shí)例

    同比和環(huán)比都是為了顯示數(shù)據(jù)的變化速度,但是基數(shù)不同,同比側(cè)重長(zhǎng)期數(shù)據(jù)趨勢(shì)變化,環(huán)比側(cè)重于短期內(nèi)數(shù)據(jù)趨勢(shì)變化,下面這篇文章主要給大家介紹了關(guān)于如何使用pandas計(jì)算環(huán)比和同比的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Python中的二分查找Bisect庫(kù)使用實(shí)戰(zhàn)

    Python中的二分查找Bisect庫(kù)使用實(shí)戰(zhàn)

    在算法和數(shù)據(jù)結(jié)構(gòu)中,二分查找是一種高效的搜索算法,可用于有序數(shù)據(jù)集合的查找,Python的bisect庫(kù)為我們提供了便捷的二分查找實(shí)現(xiàn),本文將深入探討B(tài)isect庫(kù)的使用方法、性能優(yōu)勢(shì),并通過(guò)豐富的示例代碼展示其在實(shí)際應(yīng)用中的靈活性和效果
    2024-01-01
  • python中 _、__、__xx__()區(qū)別及使用場(chǎng)景

    python中 _、__、__xx__()區(qū)別及使用場(chǎng)景

    這篇文章主要介紹了python中 _、__、__xx__() 區(qū)別及使用場(chǎng)景,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Django項(xiàng)目如何獲得SSL證書(shū)與配置HTTPS

    Django項(xiàng)目如何獲得SSL證書(shū)與配置HTTPS

    本文總結(jié)了如何獲得SSL證書(shū)并給Django項(xiàng)目配置HTTPS,建議先收藏再閱讀,將來(lái)有一天你很可能會(huì)用到它。
    2021-04-04
  • django解決跨域請(qǐng)求的問(wèn)題

    django解決跨域請(qǐng)求的問(wèn)題

    這篇文章主要介紹了django解決跨域請(qǐng)求的問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • python字符串Intern機(jī)制詳解

    python字符串Intern機(jī)制詳解

    這篇文章主要介紹了python字符串Intern機(jī)制詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 教你用Python創(chuàng)建微信聊天機(jī)器人

    教你用Python創(chuàng)建微信聊天機(jī)器人

    這篇文章主要手把手教你用Python創(chuàng)建微信聊天機(jī)器人,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Ruby元編程基礎(chǔ)學(xué)習(xí)筆記整理

    Ruby元編程基礎(chǔ)學(xué)習(xí)筆記整理

    元編程Metaprogramming是指編寫能夠操作其他程序的程序,例如C語(yǔ)言中的宏,是編程中的一項(xiàng)高級(jí)技巧,這里我們立足基礎(chǔ),來(lái)看一下Ruby元編程基礎(chǔ)學(xué)習(xí)筆記整理.
    2016-07-07
  • 教你用Python寫安卓游戲外掛

    教你用Python寫安卓游戲外掛

    本篇文章主要給教給大家如何用python這個(gè)語(yǔ)言寫出安卓游戲的輔助外掛以及思路講解,有興趣的朋友跟著學(xué)習(xí)下吧。
    2018-01-01

最新評(píng)論

镇巴县| 托克托县| 喀什市| 宝丰县| 安龙县| 余干县| 二手房| 宕昌县| 阿坝县| 肇东市| 高邑县| 洪雅县| 资溪县| 大埔县| 江山市| 宾川县| 濮阳市| 申扎县| 普宁市| 南漳县| 枝江市| 修武县| 桃园市| 疏附县| 丰城市| 洪洞县| 泸水县| 织金县| 思茅市| 峨边| 双鸭山市| 吴川市| 墨竹工卡县| 马关县| 防城港市| 镇巴县| 罗江县| 宜阳县| 通许县| 汶川县| 秀山|