método de objeto python

| | | | | | | | | | | | | | | |

Os Argumentos em métodos Python devem ser especificados entre parênteses. Isso ocorre porque funções e métodos usam parênteses para indicar se são chamados. Se você usar colchetes para chamar um método, encontrará um erro "TypeError: `method` object is notsubscriptable " .

Neste guia, explicamos o que esse erro significa e por que você pode encontrá-lo. Vejamos um exemplo desse erro para ajudá-lo a desenvolver uma solução.

TypeError: `method` o objeto não está inscrito

Os objetos subscritíveis são objetos com um método __getitem__. Esses são tipos de dados, como listas, dicionários e tuplas. O método __getitem__ permite que o interpretador Python recupere um único item de uma coleção.

Nem todos os itens são inscritos. Os métodos, por exemplo, não são. Isso ocorre porque eles não implementam o método __getitem__. Isso significa que você não pode usar a sintaxe entre colchetes para acessar os elementos de um método ou para chamar um método.

Considere o seguinte snippet de código:

Este código retorna "Edam", o queijo na posição de índice 0. Você não pode usar colchetes para chamar uma função ou um método porque as funções e métodos não são objetos aos quais você pode se inscrever.

p>

Um cenário de exemplo

Aqui criamos um programa que armazena os queijos em objetos. O "Queijo‚" A classe que usamos para definir um queijo terá um método que nos permitirá verificar se um queijo vem de um determinado país de origem.

Comece com define uma classe para nossos queijos. Vamos chamar essa classe de Cheese:

Nossa classe contém dois métodos. O primeiro método define a estrutura do objeto Cheese. O a segunda permite verificar se o país de origem de um queijo é igual a um determinado valor. < br>

Então , vamos criar um objeto da nossa classe Cheese:

A variável "edam" é um objeto. O nome associado ao queijo é Edam e seu país de origem é a Holanda.

Em seguida, chamamos nosso método get_country ():

Este código executa o get_country() da classe Cheese. O get_country ( ) verifica se o valor de "origin" em nosso objeto "edam" é igual a "Germany".

Execute nosso código e veja o que acontece:

Ocorreu um erro em nosso código.

Vamos analisar a linha de código que o depurador Python identificou como incorreto:

Nesta linha de código, usamos colchetes para chamar o método get_country(). Essa não é uma sintaxe aceitável porque colchetes são usados para acessar itens em uma lista. Como funções e objetos não são inscritos, não podemos usar colchetes para chamá-los.

Para corrigir esse erro, precisamos para substituir os colchetes por chaves:

Vamos executar nosso código e ver o que acontece:

Nosso código está funcionando bem. Vamos tentar verificar se Edam é da "Holanda" para garantir que nossa função funcione em todos os casos, se o valor que especificamos é o mesmo que o país de origem do queijo:

Nosso código retorna:

Nosso código funciona se o valor que especificamos for igual ao país de origem de um queijo.

Conclusão

O erro "TypeError: `method` not subscribable" é gerado ao usar colchetes para chamar um método dentro de uma classe. Para resolver esse erro, certifique-se de chamar apenas os métodos de uma classe usando chaves após o nome do método que deseja chamar.

Agora você está pronto para resolver esse erro comum do Python como um programador profissional !