Explorando os objetos Python

Neste tutorial, vamos nos aprofundar no conceito de introspecção na programação com Python.

Por que recorrer à introspecção? A introspecção no Python nos permite investigar os detalhes internos de um objeto, possibilitando a análise ou modificação de seu estado, atributos e tipo. De forma simples, é a chave para compreender a essência de um objeto e descobrir as funcionalidades que ele reserva.

O Python nos oferece uma ampla seleção de ferramentas integradas para a realização da introspecção. Vamos conhecer algumas delas:

  • type()
    Esta ferramenta desvenda o tipo do objeto em questão. Por exemplo, ela permite identificar se o objeto é uma lista, um dicionário, um inteiro, uma string, entre outros.

    Exemplo. Criação de uma lista

    >>> var = [1,2,3,4]

    A seguir, a verificação do tipo da variável var por meio da função type()

    >>> type(var)

    A função type informa o tipo de dado, que, neste caso, é uma lista.

    <class 'list'>

  • dir()
    Essa ferramenta apresenta um catálogo de atributos e métodos relacionados ao objeto, permitindo uma visão geral das diferentes funções que o objeto pode executar.

    Exemplo. Criação de uma lista

    >>> var = [1,2,3,4]

    Então, a exibição da lista de propriedades e métodos acessíveis de um objeto do tipo "lista" através da função dir()

    >>> dir(var)

    A função dir() mostra a lista de propriedades e métodos disponíveis:

    ['__add__', '__class__', '__class_getitem__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', ... etc.

  • id()
    Esta ferramenta fornece o identificador único do objeto no ambiente Python, essencial quando precisamos verificar se duas referências apontam para o mesmo objeto.

    Exemplo. Criação de uma tupla.

    >>> var = (1,2,3,4)

    Em seguida, a obtenção do identificador do objeto pela função id()

    >>> id(var)

    A função id() retorna a referência do objeto na memória do computador.

    140492943321280

  • getattr(), setattr(), e delattr()
    Estas ferramentas são utilizadas para acessar, modificar ou remover atributos de um objeto, respectivamente.
  • hasattr()
    Esta ferramenta verifica a existência de um determinado atributo no objeto, retornando um valor booleano – Verdadeiro caso o atributo esteja presente, Falso caso contrário.

    Exemplo. Criação de uma tupla.

    >>> var = (1,2,3,4)

    A verificação da existência do atributo 'real' com a função hasattr().

    hasattr(var,'real')

    A função retorna Falso, pois as tuplas não possuem o atributo 'real'.

    False

  • in()
    Utilizada para determinar se uma palavra-chave ou valor específico encontra-se dentro de um objeto.

    Exemplo. Definição de uma string na variável var

    >>> var = "Python"

    A checagem da presença da substring "th" na string por meio da função in().

    >>> "th" in var

    A função retorna Verdadeiro, indicando que a substring "th" está presente na string "Python".

    True

  • is()
    Verifica se dois objetos têm a mesma referência de memória, ou seja, se são o mesmo objeto no ambiente de execução.

    Exemplo. Criação de duas listas nas variáveis "list1" e "list2"

    >>> list1 = [1,2,3]
    >>> list2 = [1,2,3]

    A verificação da identidade de memória entre os dois objetos com o operador "is".

    >>> list1 is list2

    A função retorna Falso, pois, apesar de idênticas, as duas listas estão armazenadas em endereços de memória diferentes.

    False

  • isinstance()
    Útil para confirmar se um objeto é instância de uma classe específica ou de um de seus subtipos.
  • issubclass()
    Verifica se uma classe é subclasse de outra.

Dispor dessas ferramentas de introspecção pode fazer uma grande diferença ao explorar as profundezas do código Python.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Tutorial Python

FAQ