# Python

## Introdução

O **Python** é uma linguagem de programação de alto nível, interpretada, de script, imperativa, orientada a objetos, funcional, de tipagem dinâmica e forte. É amplamente utilizada em ciência de dados, desenvolvimento web, automação e, crucialmente, em **Segurança da Informação** e **Pentest**.

## Estrutura Básica de um Script Python

Diferente do Bash, o Python não exige obrigatoriamente um shebang no Windows, mas é uma boa prática para portabilidade em sistemas Unix.

```python
#!/usr/bin/env python3
# Comentário: Este é um script Python simples

print("Olá, mundo!")
```

* `#!/usr/bin/env python3`: Shebang que indica que o script deve ser executado pelo Python 3.
* `#`: Inicia um comentário de linha única.
* `print()`: Exibe texto no terminal.

## Por que Python para Pentest?

* **Sintaxe Simples:** Permite escrever ferramentas de exploração rapidamente.
* **Bibliotecas Poderosas:** `requests`, `scapy`, `pwntools`, `socket`, entre outras.
* **Portabilidade:** Roda em quase qualquer sistema operacional.

## Execução e Ambientes

* Executar um script: `python script.py`.
* Ambientes Virtuais (Venv): Recomendado para isolar dependências.

```bash
python -m venv venv
source venv/bin/activate  # Linux/macOS
.\venv\Scripts\activate   # Windows
```

## Principais Diferenças (Bash vs Python)

* **Indentação:** No Python, a indentação é obrigatória e define blocos de código (em vez de `do/done` ou `if/fi`).
* **Tipagem:** Python é fortemente tipado em tempo de execução, enquanto o Bash trata quase tudo como string.

## Recursos Adicionais

* Documentação Oficial: [docs.python.org](https://docs.python.org/)
* Automatizando tarefas maçantes com Python (Al Sweigart).
* Black Hat Python (Justin Seitz).

Essa documentação cobre o básico para iniciar com Python no contexto desta base de conhecimento.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0xmorte.gitbook.io/bibliadopentestbr/conceitos/programacao-e-linguagens/python.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
