@= 矩阵乘法增强赋值
最后更新:2026-09-22
@= 矩阵乘法增强赋值
@= 将左侧变量与右侧对象做矩阵乘法(原地),等价于 x = x @ y。
| 分类 | 运算符 |
|---|---|
| 类型 | 运算符 |
📝 语法
x @= y
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
[[19, 22], [43, 50]]
ℹ️ 说明 @= 需要 numpy 等库支持矩阵乘法;纯内置类型没有定义该运算。
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Q@= 需要什么环境?
A需要对象实现了 __imatmul__ 或 __matmul__,通常用 NumPy:a @= b 对数组原地做矩阵乘法。内置的 list、int 不支持,会报 TypeError。
Q@= 和 a = a @ b 有区别吗?
A@= 优先调用 __imatmul__ 尝试原地运算(NumPy 数组会原地修改);没有 __imatmul__ 时退化为 a = a @ b。两者结果一般相同,但对象的 id 可能不同。
Q不想装 NumPy 能用 @= 吗?
A能。自定义类实现 __imatmul__(或 __matmul__)即可支持 @=;内置的 list、int 等没有实现,会报 TypeError。