🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Entendendo if __name__ == “__main__”: em Python

⏱️4 min read  ·  787 words

Understanding if __name__ ==

Equipe Editorial TechPulse
Escritores de Tecnologia · 21 de maio de 2026
📅 21 de maio de 2026⏱ 2 min de leitura📂 Python🏷 Python · Programação · Best Practices

Se você tem escrito código Python ou lido scripts Python, provavelmente encontrou a misteriosa linhaif __name__ == "__main__":. Este padrão aparece em inúmeros programas Python, mas muitos iniciantes o consideram confuso. Vamos desmistificar este importante idioma Python.

🔑 Ponto-Chave

Se você tem escrito código Python ou lido scripts Python, provavelmente encontrou a misteriosa linha if __name__ == “__main__”:. Este padrão aparece em inúmeros programas Python…

O que isso realmente faz?

Aif __name__ == "__main__":instrução verifica se um script Python está sendo executado diretamente ou sendo importado como um módulo em outro script. Quando Python executa um arquivo, ele define uma variável especial chamada__name__O valor desta variável depende de como o código está sendo executado.

Entendendo __name__

Understanding __name__

🎨 AI Generated: Understanding __name__

Aqui está o conceito-chave:

  • Quando você executa um arquivo Python diretamente (por exemplo,python script.py), o Python define__name__ to "__main__"
  • Quando você importa esse arquivo como um módulo em outro script, o Python define__name__para o nome do módulo (o nome do arquivo sem .py)

Um exemplo prático

Vamos ver um exemplo concreto. Crie um arquivo chamadocalculator.py:

python

def add(a, b): return a + b def subtract(a, b): return a - b if __name__ == "__main__": print("Running calculator.py directly") result = add(5, 3) print(f"5 + 3 = {result}")

Quando você executa este arquivo diretamente compython calculator.py, você verá:

code

Executando calculator.py diretamente 5 + 3 = 8

No entanto, se você importar este módulo em outro arquivo:

python

import calculator result = calculator.add(10, 20) print(result)

O código dentro doif __name__ == "__main__":bloco não será executado. Você verá apenas30as output, not the “Running calculator.py directly” message.

Por que isso é útil?

Why Is This Useful?

🎨 AI Generated: Why Is This Useful?

This pattern provides several important benefits:

1. Code Reusability

You can write functions and classes that can be both imported and run standalone. This makes your code more modular and reusable.

2. Testing and Debugging

You can include test code or example usage within theif __name__ == "__main__":block that runs when you execute the file directly, but doesn't interfere when the module is imported.

3. Flexibilidade de Script vs. Module

Um único arquivo Python pode servir a dois propósitos: como uma biblioteca importável e como um script executável.

Casos de uso comuns

Executando Unit Tests

python

def process_data(data): return [x * 2 for x in data] if __name__ == "__main__": test_data = [1, 2, 3, 4, 5] result = process_data(test_data) assert result == [2, 4, 6, 8, 10] print("Todos os testes passaram!")

Command-Line Interface

python

import sys def main(): if len(sys.argv) > 1: filename = sys.argv[1] process_file(filename) else: print("Uso: python script.py") if __name__ == "__main__": main()

Demonstrações de Exemplo

python

class DataProcessor: def __init__(self, data): self.data = data def process(self): return sum(self.data) if __name__ == "__main__": processor = DataProcessor([1, 2, 3, 4, 5]) print(f"Sum: {processor.process()}")

Best Practices

Best Practices

🎨 AI Generated: Best Practices

Aqui estão algumas recomendações ao usar este padrão:

  • Mantenha limpo:Coloque a lógica de execução principal em umamain()função e chame-a a partir doif __name__ == "__main__":bloco
  • Use para testes:Inclua testes simples ou exemplos de uso para demonstrar como seu módulo funciona
  • Sempre inclua:Mesmo que você não ache que vai importar o arquivo, é uma boa prática usar esse padrão
  • Documente o comportamento:Adicione comentários explicando o que o script faz quando executado diretamente

Conclusão

Aif __name__ == "__main__":O pattern é um idioma fundamental do Python que separa o código destinado a executar quando um arquivo é executado diretamente do código que define funcionalidade importável. Compreender este conceito ajudará você a escrever código Python mais profissional e reutilizável e a entender melhor os programas Python que você encontrar.

Da próxima vez que você ver esta linha em código Python, saberá exatamente o que ela está fazendo: verificando se o script é o programa principal ou está sendo importado como um módulo, e executando o código de acordo.

🚀 Fique à Frente da Curva Tecnológica

Receba insights diários sobre tecnologia, análises honestas e guias práticos.

Inscreva-se Grátis — Sem Spam Nunca

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা