Este artigo discutiu o erro não substituível do Python, o que o causa e como consertá -lo.
O que causa o objeto 'in' não é um erro subcrituoso?
Este erro é causado quando você trata um tipo inteiro como um objeto assinável no Python.
Isso significa que você está tentando acessar elementos de um tipo int que não é suportado.
Um exemplo é como mostrado:
i = 1000Nesse caso, estamos tentando acessar um elemento de um tipo inteiro que não é suportado para um objeto INT não é subscrito.
A execução do código acima deve retornar um erro como mostrado:
$ python Subscrocável.pyIsso nos impede de usar notações de indexação para acessar elementos de um tipo int.
No Python, objetos subscritos incluem:
Como corrigir o objeto TypeError: 'int' não é um erro subscridente
Para corrigir esse tipo de erro, você deve evitar o uso de notação de indexação em um tipo não suportado.
No entanto, se você precisar acessar elementos de um objeto, poderá convertê -lo em um objeto subscridente.
Por exemplo, em nosso exemplo anterior, podemos converter o número inteiro em um tipo de string como seu subscrito.
Considere a ilustração mostrada abaixo:
i = 1000Nesse caso, o código deve funcionar e retornar o elemento no índice 0, como mostrado:
$ python Subscrocável.pyBônus: Implementando __getItem __ () em sua classe
Em alguns casos, você pode precisar que seu objeto seja subcritorável. Portanto, você precisa implementar o método __getItem__ em sua classe.
O exemplo abaixo mostra como você cria um objeto simples subcritável.
Classe MyClass:No exemplo acima, começamos criando uma classe simples que implementa o método __getItem__.
A função simplesmente pegará a chave e retornará a si mesma. Por exemplo, a execução do código acima deve retornar:
$ python Subscrocável.pyVocê pode usar essa notação para obter um elemento específico do seu objeto.
Um exemplo é como mostrado:
carro de aula:Nesse caso, o método permite buscar elementos em um índice específico. A execução do código acima deve retornar:
$ python Subscrocável.pyVocê pode aprender mais sobre o Python __getItem__ no recurso abaixo:
https: // docs.Pitão.org/3/referência/datamodel.HTML#Objeto.__getItem__
Conclusão
Este artigo discutiu o erro não substituível do Python, o que o causa e como consertá -lo.