@运算符在python中的含义

时间:2019-04-23 05:41:32

标签: python python-3.x

我正在阅读某人的代码,其中出现了运算符“ @”(实际上,我什至不确定@是否是运算符)。

我四处搜寻,但没有任何线索。我想这是一些高级用法。

这是一些示例代码:

hidden = self.adj_norm @ tf.sparse_tensor_dense_matmul(hidden, w) + b

hidden = self.adj_norm @ hidden @ w + b

final_output = self.adj_norm @ tf.sparse_tensor_dense_matmul(final_output, w) + b

final_output = self.adj_norm @ final_output @ w + b

有人可以解释或提供一些我可以检查“ @”用法的参考文献吗?

1 个答案:

答案 0 :(得分:3)

大多数@用作装饰器。但是,在您的情况下,它似乎用于矩阵乘法。

在python矩阵乘法中,x @ y调用x.__matmul__(y)或:

x @ y
#equivalent to

dot(x, y)
and

x @= y
#equivalent to

x = dot(x, y)

Dot是Numpy以及x和y中的矩阵乘法函数。