@= Atribuição de multiplicação de matrizes

Última atualização: 2026-09-22

@= Atribuição de multiplicação de matrizes

@= realiza uma multiplicação de matrizes no lugar entre a variável da esquerda e o valor à direita, equivalente a x = x @ y.

CategoriaOperadores
TipoOperador

📝 Sintaxe

x @= y

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

[[19, 22], [43, 50]]
ℹ️ Informação @= requer uma biblioteca como numpy para multiplicação de matrizes; os tipos embutidos não definem essa operação.
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QQual ambiente o `@=` exige?
AO objeto deve implementar `__imatmul__` ou `__matmul__`, tipicamente com NumPy: `a @= b` faz uma multiplicação de matrizes in-place em arrays. `list` e `int` embutidos não suportam e geram `TypeError`.
QHá diferença entre @= e a = a @ b?
A`@=` primeiro tenta `__imatmul__` para uma operação in-place (arrays do NumPy são modificados in-place); se não houver `__imatmul__`, ele recorre a `a = a @ b`. Os resultados geralmente são os mesmos, mas o `id` do objeto pode diferir.
QPosso usar @= sem instalar o NumPy?
ASim. Uma classe personalizada que implementa `__imatmul__` (ou `__matmul__`) suporta `@=`; `list` e `int` embutidos não têm essa implementação, então geram `TypeError`.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%