@ Matrix multiply

Last updated: 2026-09-22

@ Matrix multiply

@ is the matrix-multiplication operator (PEP 465); used by NumPy etc.

CategoryOperators
KindOperator
Python Version3.5+

📝 Syntax

a @ b

▶ Example

Edit the code, press Run, and see the result in the output panel:

Output:

need numpy or custom __matmul__
More case studies coming soon — check back later.

❓ FAQ

QWhy does 1 @ 2 raise an error?
A`@` only works on types that define `__matmul__` (such as NumPy arrays). The built-in `int` and `list` do not implement matrix multiplication, so you get `TypeError: unsupported operand type(s) for @`.
QWhat Python version does @ require?
APython 3.5+ (introduced by PEP 465). It is designed for matrix multiplication; with NumPy you can write `a @ b` to multiply two arrays.
QWhat is the difference between @ and * for NumPy arrays?
A`a @ b` is mathematical matrix multiplication (row-by-column sums). `a * b` is element-wise multiplication. The two give completely different results — do not mix them up.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏