if __name__ == '__main__':
cada modulo possui um atributo __name__, que é o nome dele.
__main__ é a string que contem na váriavel __name__
quando você importa algum modulo
a variável __name__ fica como o nome do modulo caso contrário o nome será __main__
então a condição: if __name__ == '__main__': diz que
se o modulo contiver a string __main__ ele vai rodar o restante do código
exemplo:
>>>a = 'b' >>>a == 'b' Truea contém o valor b , a é igual a b portanto, Trueo mesmo acontece com __name__ e __main__
a é variável
'b' é string
__name__ é variável
'__main__' é string
ou seja tudo que contiver entre aspas será string caso contrário será variável,se estiver declarada.
>>> print __name__ __main__
veja outro exemplo:
>>>a = 'b' >>>if a == 'b': >>> print "a contém a string b" >>>else: >>> print "a não contem a string b" 'a contém a string b'
outro exemplo:
o seguinte arquivo main.py, contém o seguinte conteudo:
if __name__ == '__main__': print 'este programa está rodando sozinho' else: print 'eu estou sendo importado de outro modulo'
o código fara o seguinte se a string '__main__' contiver em __name__
ele imprime """este programa está rodando sozinho"""
ou seja essa condição somente vai ser verdadeira se vc estiver rodando o código#diretamente como: python main.py
se vc estiver importando o programa como modulo "import main"
a condição if não será verdadeira
portanto print """este programa está rodando sozinho""" não será executado
e fara um salto para else:
que então vai executar print 'eu estou sendo importado de outro modulo'
Nenhum comentário:
Postar um comentário