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 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