python星號(*)和雙星號(**)?函數(shù)動態(tài)參數(shù)匹配及解包操作方法
1.乘法和冪運算符
● 單個 * 用于乘法運算
● 兩個 ** 表示冪運算
>>> 2*3 >>> 6 >>> 2**3 >>> 8
2.函數(shù)接收數(shù)量不固定的入?yún)?/h2>
在定義函數(shù)時,我們可以定義一個以一個或兩個星號為前綴的參數(shù),以捕獲不限制數(shù)量的參數(shù)輸入??偨Y(jié)如下:
● 以 一個 * 為前綴的參數(shù)可以將任意數(shù)量的參數(shù)以元組形式傳入
● 以兩個 ** 為前綴的參數(shù)可以將任意數(shù)量的參數(shù)以字典形式傳入
3.限制函數(shù)入?yún)H以關(guān)鍵字形式輸入
def genius(age, *, first_name, last_name):
print(first_name, last_name, 'is', age)
genius(28, first_name='Li', last_name='Bai')
# Li Bai is 28上述代碼采用了星號* 限制了星號之后的參數(shù)必須采用關(guān)鍵字形式來調(diào)用上述函數(shù)。
4. 可迭代對象解包操作
使用星號* 來解包可迭代對象。
A = [1, 2, 3]
B = (4, 5, 6)
C = {7, 8, 9}
L = [*A, *B, *C]
print(L)
# [1, 2, 3, 4, 5, 6, 8, 9, 7]如果我們利用一個*作為dict 的前綴,它的key 將被解包;如果我們使用雙星號** 作為前綴,其value 將被解包;此時我們必須顯示使用key 來接收解包后的value 。
D = {'first': 1, 'second': 2, 'third': 3}
print(*D)
# first second third
# print(**D)
# TypeError: 'first' is an invalid keyword argument for print()
print('{first},{second},{third}'.format(**D))
# 1,2,35.擴展可迭代對象解包
解包的語法。
L = [1, 2, 3, 4, 5, 6, 7, 8] a, *b = L print(a) # 1 print(b) # [2, 3, 4, 5, 6, 7, 8]
到此這篇關(guān)于python星號(*)和雙星號(**) 函數(shù)動態(tài)參數(shù)匹配及解包操作的文章就介紹到這了,更多相關(guān)python星號(*)和雙星號(**)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python摸魚神器之利用樹莓派opencv人臉識別自動控制電腦顯示桌面
這篇文章主要介紹了Python摸魚神器樹莓派opencv人臉識別自動控制電腦顯示桌面,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-09-09
基于Python第三方插件實現(xiàn)西游記章節(jié)標注漢語拼音的方法
這篇文章主要介紹了基于Python第三方插件實現(xiàn)西游記章節(jié)標注漢語拼音的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
Python web框架(django,flask)實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例
這篇文章主要介紹了Python web框架(django,flask)實現(xiàn)mysql數(shù)據(jù)庫讀寫分離的示例,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2020-11-11
Pytorch實現(xiàn)張量的創(chuàng)建與使用方法
本文主要介紹了Pytorch實現(xiàn)張量創(chuàng)建使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-08-08
Python HTMLTestRunner可視化報告實現(xiàn)過程解析
這篇文章主要介紹了Python HTMLTestRunner可視化報告實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-04-04
Python利用PyQt5制作一個獲取網(wǎng)絡實時數(shù)據(jù)NBA數(shù)據(jù)播報GUI功能
現(xiàn)在NBA聯(lián)賽也進行到半決賽了,我們怎么樣才能以更快的方法獲取NBA的數(shù)據(jù)呢?這里我們就自己來做一個數(shù)據(jù)播報的程序2021-07-07

