Variable __name__ en Python

Variable __name__ en Python

@programacion

Introducción a la variable __name__ y sus usos en Python

Lo más probable es que haya encontrado una variable __name__mientras trabajaba con el código de Python. Se parece a esto:

if __name__ == '__main__':
    main()

Veamos un ejemplo del uso de esta variable al crear módulos en Python.

¿Por qué usar la variable __name__?

Una variable __name__(dos guiones bajos antes y después) es una variable especial en Python que toma un valor dependiendo de cómo se ejecute el script que contiene.

A veces, las características de algunos escenarios pueden resultarle útiles en otros . En Python, puede importar este script como un módulo para otro script.

Con esta variable, puede decidir si ejecutar el script o importar las funciones definidas en el script.

¿Qué valores puede contener la variable __name__?

Cuando se ejecuta el script, el valor de la variable __name__es __main__. Cuando importe el código del script, contendrá el nombre del script.

Consideremos dos casos de uso.

Opción 1 - Ejecutar el script

Digamos que escribimos un script nameScript.pyque se ve así:

def myFunction():
    print 'The value of __name__ is ' + __name__

def main():
    myFunction()

if __name__ == '__main__':
    main()

Ejecutar nameScript.py seguirá el proceso a continuación.

Antes de que se ejecute el resto del código, el valor de la variable __name__se establece en __main__. Después de eso, se ejecutan las declaraciones defmainmyFunction. Dado que se establece en verdadero, se llama a la función principal. A su vez, se llama myFunction. El resultado es un valor __main__.

Opción 2: importar un script a otro script

Para usar myFunction en otro script, por ejemplo importingScript.py, importe nameScript.py como un módulo.

El código importingScript.pyse ve así:

import nameScript as ns

ns.myFunction()

Obtenemos dos alcances: importingScriptnameScript.

En importingScript.py, el valor de la variable __name__se establece en __main__. Al importar nameScript, Python comienza a buscar el archivo agregándolo  .pyal nombre del módulo y luego ejecuta el código del archivo importado.

En este caso, el valor se establece en nameScript. Las instrucciones def para main y myFunction se activan nuevamente. Sin embargo, esta vez se establece en falso y no se llama a la función principal.

En importingScript.py llamamos myFunction que genera nameScript. El NameScript se da a conocer a myFunction cuando se define la función.

Cuando se escribe __name__en importingScript , obtenemos __main__, ya que Python usa el valor conocido en el ámbito de importingScript.

Conclusión

Vimos las opciones para usar una variable __name__al escribir módulos. Estos módulos también se pueden ejecutar de forma independiente sabiendo cómo cambian los valores de estas variables dependiendo de dónde se produzcan.

Fuente:

https://elsolitario.org/post/variable__name__en-python/


Report Page