Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Get Item

Não entendi muito bem o funcionamento do __getitem__, ele serve apenas para o objeto ter alguns comportamentos de uma lista especificamente ou isso é algo que eu mesmo defino nele? Para que exatamente serve ele?

2 respostas
solução

Oi Armando! Como vai?

O __getitem__ é um "método dunder" do Python. Os métodos dunder, são métodos pré-definidos, para que sejam facilmente reconhecidos por qualquer um que olhe um código escrito em Python.

O __getitem__ em especial, serve para tornar um objeto iterável, ou seja, para que consigamos percorrê-lo item por item.

Por padrão, independente de guardar mais de um argumento, um objeto não é iterável, como mostra o professor durante a aula. Esse método serve para que consigamos obter o comportamento de percorrê-lo como uma lista, sem que precisemos herdar como classe o tipo lista inteiro, ou herdar qualquer outro iterável. O comportamente de iteração pertence não somente a lista, mas outros tipos como tuplas, strings e dicionário.

De certa maneira, o__getitem__funciona "por causa" do que você escreve dentro dele, entretanto é uma convenção que você defina ele dessa maneira, para que fique mais "phytônico".

É bem provável que você poderia fazer isso de outras maneiras, pois faz parte da filosofia do Python deixar opções em aberto para o programador, mas a boa prática é que seja feita desse jeito, para que qualquer um que abrir o seu código possa entender o que foi feito.

Ficou alguma dúvida? Me avise que posso explicar de outras maneiras!

Bons Estudos! =)

Agora eu entendi! Muito obrigado pela ajuda.