欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 星號(*)的多種用途

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

結(jié)論

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

修飾實(shí)例變量時

  • 作用: 講被修飾的實(shí)例變量或者可迭代對象進(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 每個數(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 每個字母中間以\t分割


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

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

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

可迭代對象有:list, dict, tuple, generator, iterator

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

  • 作用: 放在參數(shù)列表的末尾, 作為不定長的參數(shù)列表的形參接受對象。 (可以類比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的形參只有一個,但被傳遞三個參數(shù),程序還是可以正常運(yùn)行。
因?yàn)?args將三個參數(shù)以tuple形式存儲,作為一個整體傳遞給方法func1。

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

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

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

相關(guān)文章

  • pygame學(xué)習(xí)筆記(4):聲音控制

    pygame學(xué)習(xí)筆記(4):聲音控制

    這篇文章主要介紹了pygame學(xué)習(xí)筆記(4):聲音控制,本文講解了pygame.mixer啟動與初始化、播放聲音片段wav文件、播放mp3、wma、ogg音樂文件、控制音量、制作mp3播放器中遇到的問題等內(nèi)容,需要的朋友可以參考下
    2015-04-04
  • pytorch張量和numpy數(shù)組相互轉(zhuǎn)換

    pytorch張量和numpy數(shù)組相互轉(zhuǎn)換

    在使用pytorch作為深度學(xué)習(xí)的框架時,經(jīng)常會遇到張量tensor和矩陣numpy的類型的相互轉(zhuǎn)化的問題,本文主要介紹了pytorch張量和numpy數(shù)組相互轉(zhuǎn)換,感興趣的可以了解一下
    2024-02-02
  • 利用python如何在前程無憂高效投遞簡歷

    利用python如何在前程無憂高效投遞簡歷

    這篇文章主要給大家介紹了關(guān)于利用python如何在前程無憂高效投遞簡歷的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解python opencv、scikit-image和PIL圖像處理庫比較

    詳解python opencv、scikit-image和PIL圖像處理庫比較

    這篇文章主要介紹了詳解python opencv、scikit-image和PIL圖像處理庫比較,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python判斷字符串或者集合是否為空的實(shí)例

    python判斷字符串或者集合是否為空的實(shí)例

    今天小編就為大家分享一篇python判斷字符串或者集合是否為空的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python 如何比較字符串是否一樣

    python 如何比較字符串是否一樣

    這篇文章主要介紹了python 如何比較字符串是否一樣的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 使用Python繪制空氣質(zhì)量日歷圖

    使用Python繪制空氣質(zhì)量日歷圖

    這篇文章主要介紹了使用Python繪制空氣質(zhì)量日歷圖,文章基于Python繪制的相關(guān)知識展開對空氣質(zhì)量日歷圖的繪制,感興趣的小伙伴可以參考一下
    2022-05-05
  • python實(shí)現(xiàn)輸入三角形邊長自動作圖求面積案例

    python實(shí)現(xiàn)輸入三角形邊長自動作圖求面積案例

    這篇文章主要介紹了python實(shí)現(xiàn)輸入三角形邊長自動作圖求面積案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python中count函數(shù)簡單用法

    python中count函數(shù)簡單用法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中count函數(shù)簡單用法以及相關(guān)實(shí)例,需要的朋友們學(xué)習(xí)下。
    2020-01-01
  • Python實(shí)現(xiàn)包含min函數(shù)的棧

    Python實(shí)現(xiàn)包含min函數(shù)的棧

    這篇文章主要介紹了Python實(shí)現(xiàn)包含min函數(shù)的棧,可實(shí)現(xiàn)棧中元素的計算及進(jìn)棧出棧等操作,需要的朋友可以參考下
    2016-04-04

最新評論