Doble subrayado en Python

Vaibhhav Khetarpal 11 julio 2021
  1. Utilice el subrayado doble en Python
  2. Utilice doble subrayado inicial y final en Python
Doble subrayado en Python

Tanto el subrayado (_) como el doble subrayado (__) tienen una gran importancia en el mundo de la programación Python y los programadores los utilizan en exceso para diferentes propósitos. Los guiones bajos dobles son bastante útiles y se encuentran con frecuencia en el código Python.

En este artículo, discutiremos el significado del guión bajo doble en Python.

Utilice el subrayado doble en Python

Cuando el doble subrayado lleva a un identificador dado (__var), el proceso de alteración de nombres ocurre en ese identificador en particular.

La alteración de nombres, en términos simples, consiste básicamente en reescribir el nombre del atributo para evitar conflictos de nombres con las subclases.

Puede usar el siguiente código para explicar el doble subrayado inicial en Python.

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


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

Producción :

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

Explicación

  • En el código anterior, tomamos una clase y comparamos el guión bajo simple, el guión bajo doble y los elementos normales.
  • Los elementos foo, bar, baz son palabras clave simples que se utilizan aquí como marcador de posición para los valores que cambian según las condiciones pasadas al programa o la nueva información recibida por el programa.
  • La función dir() se utiliza aquí para proporcionar una lista de atributos válidos del objeto dado que se pasa como argumento en la función.

En el código anterior, notamos que la variable bar y _baz parece no haber cambiado, mientras que la variable __foo se ha cambiado a _E1__foo. Este es el proceso de combinación de nombres que se produce en la variable y se realiza para proteger la variable de que no se anule en las subclases.

Este proceso de alteración de nombres de las variables con doble subrayado inicial es totalmente transparente para el programador. La alteración de nombres interactúa y cambia todo lo que conduce con un guión bajo doble, incluidas las funciones.

Utilice doble subrayado inicial y final en Python

Cuando una variable está rodeada por un subrayado doble tanto en el lado inicial como en el final, el proceso de alteración de nombres no se le aplica.

El intérprete de Python ignora las variables agrupadas por el doble subrayado, ya que tanto el prefijo como el sufijo son ignorados.

Puede usar el siguiente código para explicar el doble subrayado inicial y final en Python.

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


print(A().__foo__)

Producción :

10

En el código anterior, el intérprete ignora la variable foo con un subrayado doble como prefijo y sufijo, y no se produce la alteración del nombre. El valor de esta función se devuelve como salida, lo que prueba que la variable existe en la lista de atributos del objeto.

Algunos nombres únicos, como init o call, que contienen tanto el subrayado doble inicial como el final, están reservados en el lenguaje Python para un 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

Artículo relacionado - Python Syntax