def function_with_one_star(*t):
print(t, type(t))
def function_with_two_stars(**d)
print(d, type(d))
上面定義了兩個函式,分別用了帶乙個星號和兩個星號的引數,它們是什麼意思,執行下面的**:
function_with_one_star(1, 2, 3)
function_with_two_stars(a = 1, b = 2, c = 3)
結果如下
(1, 2, 3)
由此可見,帶乙個星號(*)引數的函式傳入的引數儲存為乙個元組(tuple);
而帶兩個星號(*)引數的函式傳入的引數則儲存為乙個字典(dict),並且在
呼叫是採取 a = 1, b = 2, c = 3 的形式。
由於傳入的引數個數不定,所以當與普通引數一同使用時,必須把帶星號的參
數放在最後。
函式在定義中,通過在引數前加星號,將傳遞進來的多個引數轉化為乙個物件,元組或字典,可以說是將這些引數值收集起來。
引數前加乙個星號,表明將所有的值放在同乙個元組中,該引數的返回值是乙個元組。
引數前加兩個星號,表明將所有的值放在同乙個字典中,該引數的返回值是乙個字典。
位置引數
在引數名之前使用乙個星號,就是讓函式接受任意多的位置引數。
>>> def multiply(*args):
... total = 1
... for arg in args:
... total *= arg
... return total
...>>> multiply(2, 3)
6>>> multiply(2, 3, 4, 5, 6)
720python把引數收集到乙個元組中,作為變數args。顯式宣告的引數之外如果沒有位置引數,這個引數就作為乙個空元組。
關鍵字引數
python在引數名之前使用2個星號來支援任意多的關鍵字引數。
>>> def accept(**kwargs):
... for keyword, value in kwargs.items():
... print "%s => %r" % (keyword, value)
...>>> accept(foo='bar', spam='eggs')
foo => 'bar'
spam => 'eggs'
python中 和 python中的 和 的用途
def function with one star t print t,type t def function with two stars d print d,type d 上面定義了兩個函式,分別用了帶乙個星號和兩個星號的引數,它們是什麼意思,執行下面的 function with one s...
Python中 的用途
在python中,不僅僅代表乘法和列表複製,還常常用於函式的實參傳遞,和形參接收中。def div a,b print a b div 1,2 這裡,號的作用是將可迭代序列拆開,作為函式的實參。另外,兩個 可以用於字典。def div a,b print a b params div params ...
python中的多個包的用途
1 numpy numpy提供了兩種基本的物件 ndarray和ufunc。ndarray是儲存單一資料型別的多維陣列,而ufunc是能夠對陣列進行處理的函式。n維陣列,一種快速 高效使用記憶體的多維陣列,他提供向量化數 算。可以不需要使用迴圈,就能對整個陣列內的資料進行標準數 算。非常便於傳送資料...