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

python星號(*)和雙星號(**)?函數(shù)動態(tài)參數(shù)匹配及解包操作方法

 更新時間:2023年03月04日 09:36:37   作者:插件開發(fā)  
這篇文章主要介紹了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,3

5.擴展可迭代對象解包

解包的語法。

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)文章

最新評論