Sublinhado duplo em Python

Vaibhhav Khetarpal 30 janeiro 2023
  1. Use o sublinhado de duas entrelinhas em Python
  2. Use o sublinhado duplo à esquerda e à direita em Python
Sublinhado duplo em Python

Tanto o sublinhado (_) quanto o sublinhado duplo (__) têm grande importância no mundo da programação Python e são excessivamente usados ​​por programadores para diferentes propósitos. Os sublinhados duplos são muito úteis e são frequentemente encontrados no código Python.

Neste artigo, discutiremos o significado do sublinhado duplo em Python.

Use o sublinhado de duas entrelinhas em Python

Quando o sublinhado duplo leva a um determinado identificador (__var), o processo de mutilação de nome ocorre naquele identificador específico.

A mutilação de nomes, em termos simples, é basicamente reescrever o nome do atributo para evitar conflitos de nomenclatura com as subclasses.

Você pode usar o código a seguir para explicar o sublinhado duplo inicial em Python.

class E1:
    def __init__(self):
        self.bar = 11
        self._baz = 23
        self.__foo = 23


x = E1()
print(dir(x))

Resultado:

['_E1__foo', '__doc__', '__init__', '__module__', '_baz', 'bar']

Explicação

  • No código acima, pegamos uma classe e comparamos o sublinhado único, o sublinhado duplo e os elementos normais.
  • Os elementos foo, bar, baz são palavras-chave simples usadas aqui como um espaço reservado para os valores que mudam nas condições passadas para o programa ou novas informações recebidas pelo programa.
  • A função dir() é usada aqui para fornecer uma lista de atributos válidos de um determinado objeto passado como um argumento na função.

No código acima, notamos que as variáveis ​​bar e _baz parecem estar inalteradas, enquanto a variável __foo foi alterada para _E1__foo. Este é o processo de emaranhamento de nomes que ocorre na variável e é feito para salvaguardar a variável contra ser substituída em subclasses.

Este processo de mutilação do nome das variáveis ​​com sublinhado duplo inicial é totalmente transparente para o programador. A mutilação de nomes interage e muda tudo o que começa com um sublinhado duplo, incluindo funções.

Use o sublinhado duplo à esquerda e à direita em Python

Quando uma variável é circundada por sublinhado duplo nos lados anterior e posterior, o processo de mutilação de nome não é aplicado a ela.

As variáveis ​​agrupadas pelo sublinhado duplo como prefixo e pós-fixados são ignoradas pelo interpretador Python.

Você pode usar o código a seguir para explicar o sublinhado duplo à esquerda e à direita no Python.

class A:
    def __init__(self):
        self.__foo__ = 10


print(A().__foo__)

Resultado:

10

No código acima, a variável foo com um sublinhado duplo como prefixo e posfixo é ignorada pelo interpretador e o nome mutilado não ocorre. O valor desta função é retornado como saída, o que prova que a variável existe na lista de atributos do objeto.

Alguns nomes exclusivos, como init ou call que contém o sublinhado duplo inicial e final, são reservados na linguagem Python para uso especial.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artigo relacionado - Python Syntax