Uso do 'if __name__ == __main__' declaração em python

Uso do 'if __name__ == __main__' declaração em python
Algumas variáveis ​​especiais são definidas quando qualquer script python é executado. O __nome__ variável é um deles. O arquivo python é salvo com o '.py ' extensão e cada arquivo python é chamado de módulo. As classes, funções e variáveis ​​são definidas pelo módulo. O __nome__ A variável está definida como __principal__ Se o intérprete Python executar um módulo no programa principal. O __nome__ A variável é definida como o nome do módulo se o arquivo python estiver importando o módulo de outro módulo. O 'Se __name__ == __main__' A declaração é usada para verificar se o módulo é importado ou não. Diferentes usos desta afirmação foram mostrados neste tutorial.

Exemplo 1: uso simples da variável __name__

Crie um arquivo python com o seguinte script que chama o principal() função se o valor do __nome__ variável é __principal__. O principal() A função foi declarada no script para definir as declarações. Um valor de string e um valor numérico serão impressos após ligar para o principal() função. Nenhum módulo foi importado para o script. Então o 'se' A declaração será devolvida Verdadeiro e a principal() A função será chamada.

#Define a função principal
def main ():
#Print Uma mensagem simples
Imprima ("Testando o uso da variável __name__.")
#Initialize a variável com o número
n = 15
#Print O valor da variável
print ("o valor de n é", n)
#Verifique o valor de __name__
Se __name__ == "__main__":
#Call a função principal ()
principal()

Saída:

A saída a seguir aparecerá após a execução do script acima. A saída mostra que o 'se' a condição retornou verdadeira e o principal() A função foi chamada.

Exemplo 2: Imprima o valor da variável __name__

Crie um arquivo python com o seguinte script que chama o principal() função se o valor do __nome__ variável é __principal__, Como o exemplo anterior. Dois valores numéricos serão retirados do usuário e imprimirão a soma dos números depois de chamar a função principal (). A condição 'se' verificará o valor da variável __name__. Se a condição retornar Verdadeiro, então uma mensagem será impressa, o valor do __nome__ A variável será impressa e a função principal será chamada. Se a condição retornar Falso, então uma mensagem será impressa e o valor do __nome__ A variável será impressa.

#Define a função principal
def main ():
#Print Uma mensagem simples
num1 = int (input ("Digite o primeiro número:")))
num2 = int (input ("Digite o segundo número:")))
soma = num1 +num2
#Print O valor da soma
print ("A soma de %d e %d é %d" %(num1, num2, soma))
#Verifique o valor da variável __name__
Se __name__ == "__main__":
print ("O intérprete de Python chamou diretamente.")
print ("O valor da variável __name__ é"+__ name__)
principal()
outro:
print ("O intérprete de python não ligou diretamente.")
Print ("Valor do atributo __name__ é"+__ name__)

Saída:

A saída a seguir aparecerá após a execução do script acima. A saída mostra que o principal() função foi chamada porque o valor do __nome__ variável é __principal__. 7 e 9 foram tomados como entrada do usuário e a soma de 7 e 9, que é 16, foi impressa na saída.

Exemplo 3: Uso da variável __name__ com classe

Crie um arquivo python com o seguinte script que define uma classe para calcular a área do círculo e o retângulo. Se o valor do __nome__ variável é __principal__, então a entrada será obtida do usuário. Em seguida, o objeto da classe será criado. O Circle_area () o método será chamado se o valor de entrada for 'círculo'. O retangle_area () o método será chamado se o valor de entrada for 'retângulo'. Uma mensagem será impressa se o valor de entrada não corresponder com o 'círculo' ou 'retângulo'.

#Declare a classe
Classe Calculatearea:
#Declare Constructor
def __init __ (self, tipo):
auto.tipo = tipo
#Declare Método para calcular a área do círculo
Def Circle_area (self, raio):
auto.raio = raio
área = 3.14 * eu.raio * eu.raio
impressão ("A área do círculo é", área)
#Declare Método para calcular a área do retângulo
def retangle_area (self, h, w):
auto.altura = h
auto.largura = w
área = self.altura * eu.largura
Imprimir ("A área do retângulo é", área)
#Verifique a variável __name__
se __name__ == '__main__':
areatype = input ("círculo ou retângulo?\ n ")
objeto = calculatearea (areatype.mais baixo())
se objeto.tipo == 'círculo':
objeto.Circle_area (4)
objeto Elif.tipo == 'retângulo':
objeto.retângulo_area (10, 20)
outro:
impressão ("sem tipo de correspondência encontrado.")

Saída:


A saída a seguir aparecerá após a execução do script acima. Na saída a seguir, o 'círculo' foi tomado como o valor de entrada e a área do círculo do raio 4 foi impressa na saída.

Na saída a seguir, o 'retângulo' foi tomado como o valor de entrada e a área do retângulo (o valor da altura, 10 e o valor da largura, 20) foram impressos na saída.

Na saída a seguir, o 'quadrado' foi tomado como um valor de entrada que não corresponde a 'círculo' ou 'retângulo'.

Exemplo-4: Uso da variável __name__ após importar um módulo

Crie um arquivo python nomeado arquivo1.py com o script a seguir que será importado para outro arquivo python. Este script imprimirá uma mensagem simples e uma mensagem baseada no __nome__ variável.

arquivo1.py
# Arquivo python um módulo
#Print Uma mensagem simples
print ("mensagem do arquivo1.py ")
#Print O valor da variável __name__
print ("O valor de __name__ é", __name__)
Se __name__ == "__main__":
print ("O intérprete de Python chamou diretamente.")
outro:
print ("O intérprete de python não ligou diretamente.")

Crie outro arquivo python com o seguinte script que importará o arquivo1.py Como um módulo no script. Este script imprimirá uma mensagem simples e uma mensagem baseada no __nome__ variável depois de importar o arquivo1 módulo.

#Import file1.py
importar arquivo1
#Print Uma mensagem simples
Print ("Bem -vindo ao Linuxhint")
#Print O valor da variável __name__
print ("O valor de __name__ é", __name__)
Se __name__ == "__main__":
print ("O intérprete de Python chamou diretamente.")
outro:
print ("O intérprete de python não ligou diretamente.")

Saída:


A saída a seguir aparecerá após a execução do script acima. A saída mostra que o valor do __nome__ A variável é alterada para o nome do módulo depois de importar outro módulo no script.

Conclusão

O objetivo de usar o __nome__ A variável foi explicada neste tutorial usando diferentes tipos de exemplos para ajudar os usuários a usá -lo em seu script corretamente.