1. 程式人生 > >python中星號(*)的用法

python中星號(*)的用法

這裡不說乘法,大家都知道
先看幾個測試語句:

import numpy as np
a=np.random.rand(2)
print(a)
print(*a)

輸出結果:

[0.95721482 0.55708755]
0.9572148191916312 0.5570875529243636

數列被變成空格分成的資料,是不是字串呢?我們再檢驗一下:

b=(*a).split(" ")

輸出錯誤提示:

File "cell_name", line 7
SyntaxError: can't use starred expression here

看來標星的變數不能這麼用,經過驗證,也不能賦值給別的變數,比如不能c=(a),是不是分解成兩個獨立的資料呢?比如函式的引數有多個並且不確定數量的時候,也用

arg這種形式。我們測試一下

import numpy as np
def add(a,b):
    return a+b
a=np.random.rand(2)
print(a)
c=add(*a)
print(c)

結果:[0.03414016 0.46147024]
0.4956103991927776

猜想正確。*只能用在迭代型別上,比如元組,列表