¿Qué significa el guion bajo en Python?

logo python

Todo el que comienza a programar en en este lenguaje, se habrá preguntado cúal es el significado que tiene él guion bajo (_) en Python, y cuando se usa.

Recuperando también esa inquietud que tuve en su momento, intentare explicarle su importancia y uso. 

El guión bajo (_), es un carácter que se emplea  para diferentes tareas.

Almacenando el ultimo valor de interprete:

Como puede verse en el ejemplo, el guion almacena el ultimo valor que expresa el interprete de Python, incluso nos permite realizar diferentes operaciones matemáticas.

En la nomenclatura defunciones y variables, indicando una importancia especifica.

En este caso,  hay diferentes usos, que están regidos todos, por la convención PEP8, que es la que Python, recomienda como buenas practicas y utiliza.

Estos pueden ser:

Un guión bajo (_) después de un nombre (class_)

Se utiliza para evitar conflictos con palabras clave o con elementos integrados en Python.

Un guión bajo (_) antes de un nombre (_variable)

En este caso indica que el nombre que sigue al guion es una clase, función, método o variable, con carácter privado o interno, advirtiendo a quien acceda al código, este aspecto de su implementación.

Una salvedad aquí, es que en Python las variables no son del todo privadas, y si siempre se podrá acceder a ellas.

Un doble guión bajo (__) antes de un nombre (__perro)

En la documentación de Python, se especifica que ” cualquier mombre de la forma __spam se sustituye por _NombreClase__spam”.

Para nosotros, NombreClase(),  será el nombre de la clase  donde hemos colocado el doble guión bajo (__).

En definitiva, lo que hace Python en este caso, uno de los mas comunes, es manipular el nombre de la clase, para evitar conflictos

Un doble guion bajo (__) antes y después de un nombre ( __casa__)

Esta funcionalidad del guion,  se utiliza para indicar métodos específicos de Python, conocidos como métodos mágicos, __init__, __file__

Esta convención del lenguaje, es indicativa, normalmente podemos sobrescribir alguno de estos métodos, dándole otro significado, (yo prefiero no hacerlo, pero es totalmente posible).

Su objetivo no es otro, que evitar conflictos entre los métodos mágicos y algún método definido por nosotros, al momento de escribir el código.

Facilitando la legibilidad

Podemos usar el guion bajo (_), para separar los dígitos de un número de modo que sea mas fácil leerlo. Esta función es puramente decoradora y actúa un poco como el punto(.) que se añade en Excel a trabajar con datos en formato número.

Para internacionalizar cadenas

Tal y como sucede en C el guion bajo(_), se usa para indicar que una cadena es traducible.

En Python con el uso de  la librería gettext, se aplica esta convención, también

Ignorar valores

Cuando deseamos ignorar valores  basta con asignar un guion bajo (_). Esta funcionalidad, es fabulosa y puede utilizarse al recorrer arreglos, o desempaquetarlos.

……. y hasta aquí.

…., si avanzo sígueme, si me detengo empújame, si retrocedo mátame…….

Error EOL while scanning string literal

python error

Error EOL while scanning string literal es un error común, que suele aparecer cuando comenzamos a trabajar con Python, e incluso si no somos cuidadosos también después es :

EOL while scanning string literal 

Este error se debe a un error en la sintaxis del script que hemos escrito.

Las causas más comunes en mi caso, eran con los saltos de línea o no cerrar una cadena , como en estos ejemplos a continuación:

foo = 'texto de ejemplo

df.Shape.value_counts().plot(kind=bar', alpha=0.5)

En ambos casos me he saltado una comilla y al momento de correr mi script obtendré el dichoso error.

Otros errores en Python

De igual modo sucedería, si en  vez de no colocar la comilla, la coloco en la siguiente línea:

 foo = 'texto de ejemplo
'

Cuando escribimos texto y queremos añadir un salto de línea, lo correcto es escapar con la solución que nos ofrece Python \

Foo = ‘mi texto\
en líneas\
diferentes\’

Una buena practica es abrir y cerrar las comillas antes de escribir el script.

Muchos editores de código, incluyen la función de autocompletado, lo cual puede ayudarte mucho a evitar este tipo de errores tan comunes.

«Lo que nos hace llegar mas allá, es la misma curiosidad que tiene el niño que quiere saber, lo que hay dentro del juguete»

Translate »