Uso de la declaración 'if __name__ == __main__' en Python

Uso de la declaración 'if __name__ == __main__' en Python
Algunas variables especiales se establecen cuando se ejecuta cualquier script de python. El __nombre__ La variable es uno de ellos. El archivo de python se guarda con el '.py ' extensión y cada archivo de python se llama módulo. Las clases, las funciones y las variables se definen mediante el módulo. El __nombre__ variable se establece en __principal__ Si el intérprete de Python ejecuta un módulo en el programa principal. El __nombre__ La variable se establece en el nombre del módulo si el archivo Python está importando el módulo de otro módulo. El 'Si __name__ == __main__' La declaración se utiliza para verificar si el módulo se importa o no. Se han mostrado diferentes usos de esta declaración en este tutorial.

Ejemplo-1: uso simple de la variable __name__

Crear un archivo de python con el siguiente script que llama al principal() función si el valor del __nombre__ variable es __principal__. El principal() la función ha sido declarada en el script para definir las declaraciones. Se imprimirá un valor de cadena y un valor de número después de llamar al principal() función. No se ha importado ningún módulo al script. Entonces el 'si' La declaración será devuelta Verdadero y el principal() se llamará a la función.

#Define la función principal
Def Main ()::
#Imprima un mensaje simple
Imprimir ("Probar el uso de __name__ variable.")
#Inicializar la variable con el número
n = 15
#Imprima el valor de la variable
imprimir ("El valor de n es", n)
#Chek el valor de __name__
Si __name__ == "__main__":
#Call la función main ()
principal()

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que el 'si' la condición ha devuelto verdadero y el principal() se ha llamado a la función.

Ejemplo-2: imprima el valor de la variable __name__

Crear un archivo de python con el siguiente script que llama al principal() función si el valor del __nombre__ variable es __principal__, Como el ejemplo anterior. Se tomarán dos valores de números del usuario e imprimirán la suma de los números después de llamar a la función Main (). La condición 'if' verificará el valor de la variable __name__. Si la condición regresa Verdadero, entonces se imprimirá un mensaje, el valor del __nombre__ se imprimirá la variable y se llamará a la función principal. Si la condición regresa FALSO, entonces se imprimirá un mensaje y el valor del __nombre__ Se imprimirá la variable.

#Define la función principal
Def Main ()::
#Imprima un mensaje simple
num1 = int (entrada ("Ingrese el primer número:"))
num2 = int (entrada ("Ingrese el segundo número:"))
suma = num1 +num2
#Imprimir el valor de la suma
Imprimir ("La suma de %D y %D es %D" %(Num1, Num2, suma))
#Ceck El valor de __name__ variable
Si __name__ == "__main__":
imprimir ("Python intérprete ha llamado directamente.")
imprimir ("El valor de la variable __name__ es"+__ nombre__)
principal()
demás:
Imprimir ("Python Interpreter no ha llamado directamente.")
print ("Valor del atributo __name__ es"+__ nombre__)

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que el principal() se ha llamado a la función porque el valor del __nombre__ variable es __principal__. 7 y 9 se han tomado como entrada del usuario y la suma de 7 y 9, que es 16, se ha imprimido en la salida.

Ejemplo-3: Uso de la variable __name__ con clase

Cree un archivo de Python con el siguiente script que define una clase para calcular el área del círculo y el rectángulo. Si el valor del __nombre__ variable es __principal__, entonces la entrada se tomará del usuario. A continuación, se creará el objeto de la clase. El circle_area () Se llamará al método si el valor de entrada es 'círculo'. El rectangle_area () Se llamará al método si el valor de entrada es 'rectángulo'. Se imprimirá un mensaje si el valor de entrada no coincide con el 'círculo' o 'rectángulo'.

#Declare la clase
Clase Calculatearea:
#Constructor Declare
def __init __ (self, type):
ser.tipo = tipo
#Método Declare para calcular el área del círculo
Def Circle_area (self, radio):
ser.radio = radio
área = 3.14 * yo.radio * yo.radio
Imprimir ("El área del círculo es", área)
#Método Declare para calcular el área rectangular
def rectangle_area (self, h, w):
ser.altura = H
ser.Ancho = W
área = yo.altura * yo.ancho
Imprimir ("El área del rectángulo es", área)
#Chek la variable __name__
Si __name__ == '__main__':
areatype = input ("círculo o rectángulo?\norte")
Object = Calculatearea (Areatype.más bajo())
If Object.type == 'círculo':
objeto.Circle_area (4)
objeto elif.type == 'rectangle':
objeto.rectangle_area (10, 20)
demás:
Imprimir ("No se encontró el tipo coincidente.")

Producción:


La siguiente salida aparecerá después de ejecutar el script anterior. En la siguiente salida, el 'círculo' se ha tomado como el valor de entrada y el área del círculo de radio 4 se ha imprimido en la salida.

En la siguiente salida, el 'rectángulo' se ha tomado como el valor de entrada y el área del rectángulo (el valor de altura, 10 y el valor de ancho, 20) se ha imprimido en la salida.

En la siguiente salida, el 'cuadrado' se ha tomado como un valor de entrada que no coincide con 'círculo' o 'rectángulo'.

Ejemplo-4: uso de la variable __name__ después de importar un módulo

Crear un archivo de python llamado archivo1.py con el siguiente script que se importará a otro archivo de Python. Este script imprimirá un mensaje simple y un mensaje basado en el __nombre__ variable.

archivo1.py
# Python File One Module
#Imprima un mensaje simple
Imprimir ("Mensaje desde el archivo1.py ")
#Print el valor de __name__ variable
imprimir ("El valor de __name__ es", __name__)
Si __name__ == "__main__":
imprimir ("Python intérprete ha llamado directamente.")
demás:
Imprimir ("Python Interpreter no ha llamado directamente.")

Cree otro archivo de Python con el siguiente script que importará el archivo1.py Como un módulo en el script. Este script imprimirá un mensaje simple y un mensaje basado en el __nombre__ variable después de importar el archivo1 módulo.

#Insport File1.py
File de importación1
#Imprima un mensaje simple
Imprimir ("Bienvenido a Linuxhint")
#Print el valor de __name__ variable
imprimir ("El valor de __name__ es", __name__)
Si __name__ == "__main__":
imprimir ("Python intérprete ha llamado directamente.")
demás:
Imprimir ("Python Interpreter no ha llamado directamente.")

Producción:


La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que el valor del __nombre__ La variable se cambia al nombre del módulo después de importar otro módulo en el script.

Conclusión

El propósito de usar el __nombre__ La variable se ha explicado en este tutorial mediante el uso de diferentes tipos de ejemplos para ayudar a los usuarios a usarlo en su script correctamente.