@ Matrix multiply
Last updated: 2026-09-22
@ Matrix multiply
@ is the matrix-multiplication operator (PEP 465); used by NumPy etc.
| Category | Operators |
|---|---|
| Kind | Operator |
| Python Version | 3.5+ |
📝 Syntax
a @ b
▶ Example
Edit the code, press Run, and see the result in the output panel:
Output:
need numpy or custom __matmul__
💡 Related Cases
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.