@(at)运算符在Python,如何使用它?

时间:2016-06-23 04:57:39

标签: python python-3.x numpy

我试图运行python代码。这段代码有一个' @' (在)运营商。我之前从未见过它,Google也没有回复。

init = model.potentials[key].init_weights(model)
if init.ndim==2:
    U, S, Vt = np.linalg.svd(init, False)
    init = U@Vt

它说出以下错误:

init = U@Vt
        ^
SyntaxError: invalid syntax

我使用Python 2.7编译它。有人知道这个算子吗?

1 个答案:

答案 0 :(得分:6)

@运算符是在PEP 465中提出的,并被Python 3.5采用。你不能使用它,因为你使用的是较旧的Python分支。它用于乘以矩阵(通常,但实际上你可以使@做任何事情)。如果您正在使用NumPy数组,则可以使用numpy.dot(),如下所示:

init = model.potentials[key].init_weights(model)
if init.ndim==2:
    U, S, Vt = np.linalg.svd(init, False)
    init = np.dot(U, Vt)