Python星號操作符的作用

2021-07-13 05:09:49 字數 1327 閱讀 2307

def

somefunc

(*arg):

#code goes here

這樣,傳入的引數將會先被「打包」成為乙個元組,然後再當做引數傳入。

def

somefunc

(**arg):

#code goes here

傳入的引數就會被放入乙個字典中再傳入。

def

somefunc

(a, b, c, *starone, **startwo):

print a, b, c

print starone

print startwo

執行結果(ipython下):

in [1]: def somefunc(a, b, c, *starone, **startwo):

...: print a, b, c

...: print starone

...: print startwo

...:

in [2]: somefunc(1, 2, 3, 4, 5, 6, arg0=80, arg1=201)12

3(4, 5, 6)

分析:

somefunc接收a, b, c, 乙個帶乙個星號的starone和帶兩個星號的startwo,根據前面的介紹,starone相當於接收乙個元組,而startwo相當於接收乙個字典。所以傳入的1, 2, 3, 4, 5, 6當中的1, 2, 3分別對應a, b, c直接作為引數傳入,剩下的指明名字的引數之前的4, 5, 6則被打包成乙個元組一起傳入,而指明名字的將被帶兩個星號的引數接收,被打包成乙個字典,key對應名字value對應值。

例子:

in [1]: def somefunc(a, b, c):

...: print a, b, c

...:

in [2]: test_arg0 = (1, 2, 3)

in [3]: somefunc(*test_arg0)12

3in [4]: test_arg2 =

in [5]: somefunc(**test_arg2)12

3

分析:

somefunc接收a, b, c作為引數,第一次代入的卻是乙個元組,這裡的單星號就是起到將元組「解包」, 把每乙個值放到對應引數的位置,然後代進去的作用。同理,雙星號,則是將字典解包,按照鍵值對來把值放到對應的引數的位置,而字典的鍵是由字串給出的引數名。

Python 星號( )操作符的用法

在定義乙個方法的時候,星號的意思就是 收集其餘位置的引數,如果不提供任何收集的元素給星號,就是乙個空元組。下面看一下例子 def prints arg print arg prints 1,2,3,4,5,6,7 列印的結果是乙個元組 1,2,3,4,5,6,7 也就是說該引數 arg 將傳進來的所...

Python 星號( )操作符的用法

在定義乙個方法的時候,星號的意思就是 收集其餘位置的引數,如果不提供任何收集的元素給星號,就是乙個空元組。下面看一下例子 def prints arg print arg prints 1,2,3,4,5,6,7 列印的結果是乙個元組 1,2,3,4,5,6,7 也就是說該引數 arg 將傳進來的所...

JS中delete操作符的作用

總結 刪除物件屬性或變數 其實是刪除對映,如果屬性值被賦值給其他變數,該操作不會影響變數的值 釋放記憶體空間,其值變成undefined delete object.property delete object property 如下 delete obj.frends只是刪除了obj的friend...