Uso del guion bajo (_) en Python
El guion bajo (_) es un carácter especial en Python que tiene varios usos diferentes. En este tutorial, veremos los dos usos más comunes del guion bajo:
- Para evitar conflictos con palabras clave o elementos integrados
- Para marcar variables, funciones, métodos o clases como privadas
Para evitar conflictos con palabras clave o elementos integrados
En Python, hay algunas palabras clave que tienen un significado especial para el lenguaje. Por ejemplo, la palabra clave print()
se usa para imprimir texto en la consola. Si intentamos usar una palabra clave como nombre de variable, función o método, obtendremos un error.
# Error: palabra clave utilizada como nombre de variable
nombre_variable = print
Para evitar este error, podemos usar un guion bajo (_) después del nombre de la palabra clave. Esto indicará al intérprete de Python que no se trata de una palabra clave real, sino de una variable, función o método con un nombre que coincide con una palabra clave.
# Correcto: uso de guion bajo para evitar conflicto con palabra clave
nombre_variable_de_impresora = _print
Para marcar variables, funciones, métodos o clases como privadas
En Python, no hay un concepto de visibilidad de alcance para variables, funciones, métodos o clases. Sin embargo, se puede usar un guion bajo (_) antes del nombre de una variable, función, método o clase para indicar que no se debe acceder desde fuera de la clase en la que se declara.
class MiClase:
# Variable privada
_variable_privada = 10
# Función privada
def _funcion_privada(self):
pass
# Método privado
def _metodo_privado(self):
pass
mi_objeto = MiClase()
# Error: no se puede acceder a variable privada desde fuera de la clase
print(mi_objeto._variable_privada)
En el ejemplo anterior, la variable _variable_privada
, la función _funcion_privada()
y el método _metodo_privado()
son privados. No se pueden acceder a ellos desde fuera de la clase MiClase
.
Conclusión
El guion bajo (_) es un carácter especial en Python que tiene varios usos diferentes. Es importante comprender estos usos para escribir código Python correcto y eficiente.