ExpertiDict

Python · Intermediário · Inglês · Técnico

namedtuple

/ˈneɪmdˌtʌpəl/substantivo

Fábrica do módulo collections que cria tuplas com campos nomeados, acessíveis por nome e por posição. É leve, imutável e útil para registros simples.

Onde usar

Boa para devolver vários valores de uma função com nomes claros. Para campos com tipos e valores padrão, muitos preferem NamedTuple do typing ou uma dataclass.

Em código

from collections import namedtuple

Ponto = namedtuple('Ponto', ['x', 'y'])
p = Ponto(1, 2)
print(p.x, p[1])
print(p._replace(x=9))

Exemplos

A namedtuple is enough for this record.

Uma namedtuple basta para esse registro.

Access the field by name, not by index.

Acesse o campo pelo nome, não pelo índice.

Cuidado

Continua sendo uma tupla: duas namedtuples de tipos diferentes com os mesmos valores são consideradas iguais.

Veja também

Todos os termos de Python