_int_ objeto não é scriptable

_int_ objeto não é scriptable
Um objeto subscridente em Python refere -se a objetos que atuam como contêineres. Ou, o objeto contém outros objetos. Você pode usar uma notação de indexação para acessar elementos específicos do objeto. Um objeto é subscrito se implementar os métodos __getItem __ () ou __class_getItem __ ().

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 = 1000
Imprimir (i [0])

Nesse 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.py
Traceback (chamada mais recente):
Arquivo "Subscrito.py ", linha 2, em
Imprimir (i [0])
TypeError: 'int' objeto não é subscrito

Isso nos impede de usar notações de indexação para acessar elementos de um tipo int.

No Python, objetos subscritos incluem:

  1. corda
  2. tupla
  3. lista
  4. dito
  5. Qualquer classe que implemente __getItem __ ()

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 = 1000
i = str (i)
Imprimir (i [0])

Nesse caso, o código deve funcionar e retornar o elemento no índice 0, como mostrado:

$ python Subscrocável.py
1

Bô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:
def __getItem __ (self, chave):
chave de retorno
new_object = myclass ()
print (new_object [0])

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.py
0

Você pode usar essa notação para obter um elemento específico do seu objeto.

Um exemplo é como mostrado:

carro de aula:
def __init __ (auto, modelo):
auto.modelo = modelo
def __getItem __ (self, chave):
retornar a si mesmo.Modelo [chave]
y = carro ('Honda Civic')
Imprimir (y [0: 5])

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.py
Honda

Você 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.