namedtuple

A namedtuple , como o nome sugere, são tuplas nomeadas. Não é necessário usar índices inteiros para acessar seus elementos e podemos utilizar strings - similar aos dicionários. Mas ao contrário dos dicionários, namedtuple é imutável:

from collections import namedtuple

Conta = namedtuple(‘Conta’, ‘numero titular saldo limite’) conta = Conta(‘123-4’, ‘João’, 1000.0, 1000.0)

194 14.2 PARA SABER MAIS

print(conta)# saída: Conta(numero='123-4', titular='João', saldo=1000.0, limite=1000.0) print(conta.titular) #saída: João‌

Note que para acessar o elemento nomeado utilizamos o operador ’.’ (ponto). Uma namedtuple possui dois argumentos obrigatórios que são: o nome da tupla e seus campos (separados por vírgula ou espaço). No exemplo, a tupla se chama Conta e possui 4 campos: numero , titular , saldo e limite . Como são imutáveis, não podemos modificar os valores de seus campos:

conta.titular = “José”

Isso vai gerar o seguinte erro:

Traceback (most recent call last): File <stdin>, line 5, in <module>
 
conta.titular = "José" AttributeError: can't set attribute
 

A namedtuple também é compatível com uma tupla normal. Isso quer dizer que você também pode usar índices inteiros para acessar seus elementos.

print(conta[0]) #saída: '123-4'

Mais detalhes de cada uma dessas estruturas estão na documentação e pode ser acessadas por este link: https://docs.python.org/3/library/collections.html. Outra alternativa é usar a função help() no objeto para acessar a documentação.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️