Python: O Começo de Tudo
Tags: python, programming, tutorial
Published: 2023-05-03 18:22:36

[Próximo post](https://dev.to/iugstav/python-tipos-29a2)

## Disclaimer

Este material não retrata a instalação da linguagem. É um guia sobre a linguagem e características que a moldam. Eu espero que para os conteúdos seguintes você já tenha feito a instalação e montado o ambiente da linguagem no seu sistema operacional.

Para a instalação deixarei os links abaixo:

- [https://python.org.br/instalacao-windows/](https://python.org.br/instalacao-windows/)
- [https://python.org.br/instalacao-linux/](https://python.org.br/instalacao-linux/)
- [https://python.org.br/instalacao-mac/](https://python.org.br/instalacao-mac/)

Todos os tópicos apresentados nesta introdução serão revisitados com maior aprofundamento a medida que os conteúdos forem apresentados. Caso não entenda algum tópico, não se desespere! Você não é obrigado a saber tudo sobre qualquer coisa. Procure saber o termo ou o tópico específico e, após entender, volte a ler esse material, pois um conteúdo se liga a outro e assim por diante.

Dito isso, seguimos com o material.

## Introdução

Houveram inúmeras mudanças na computação do último século até hoje. As máquinas ficaram mais poderosas, A complexidade de software aumentou e novos desafios foram surgindo. Para tal, não seria necessário em todos os casos você usar uma linguagem performática e sintaticamente complexa como C ou ASM, a galera só queria um javascript da vida que suprisse as necessidades do software sem sacrificar o desenvolvedor. Com esses requerimentos, assim nasceu Python!

Python é uma linguagem de script ([O que é uma linguagem de script?](https://pt.stackoverflow.com/a/17112)) de alto nível, multiparadigma, interpretada e dinamicamente tipada cuja filosofia foca em simplicidade e legibilidade do código. Ela é aquela linguagem que faz tudo parecer fácil e te humilha lembrando daquele seu programa em C que você gastou 3 noites em claro e usou 320 linhas (talvez eu tenha levado pro pessoal) para fazer. Brincadeiras à parte, Python é extremamente poderosa nas áreas que ela tange, que são principalmente computação científica e Ciência de Dados. A linguagem tem a premissa de “priorizar” o desenvolvedor em troca da performance do software e de fato, ser uma linguagem de alto nível tem os seus custos, não dá pra ser perfeita né. Não existe almoço grátis no mundo da computação.

## Sintaxe

Como foi dito anteriormente, um dos pontos fortes da linguagem é a sua sintaxe clara e concisa. Isso garante maior legibilidade e compreensão de código até para quem não sabe programar em Python, mas conhece alguma outra linguagem.

Uma característica marcante da sintaxe de Python é o uso de indentação para marcar blocos de código. A indentação é usada para indicar a hierarquia do código, em vez de usar chaves ou palavras-chave como outras linguagens, ou seja, os escopos são delimitados por “Tabs” ou espaços no seu código. Isso torna o código mais legível, pois ajuda a identificar rapidamente quais linhas de código estão dentro de quais blocos, mas também permite maior chance de quebrar o programa ao esquecer a indentação de uma função específica.

Para as boas práticas de código em Python existe um conjunto de verdades chamado **Zen of Python,** que nos garante que certas regras sejam seguidas para que mantenhamos nosso sistema coeso, afinal, a vida não é um morango para você ignorar as regras.

As verdades do Zen of Python são:

1. Beautiful is better than ugly. _(Bonito é melhor que feio)_
2. Explicit is better than implicit. _(Explícito é melhor que implícito)_
3. Simple is better than complex. _(Simples é melhor que complexo)_
4. Complex is better than complicated. _(Complexo é melhor que complicado)_
5. Flat is better than nested. _(Plano é melhor que aninhado)_
6. Sparse is better than dense. _(Esparso/Espalhado é melhor que denso)_
7. Readability counts. _(Legibilidade conta)_
8. Special cases aren't special enough to break the rules. Although practicality beats purity. _(Casos especiais não são especiais o suficiente para quebrar as regras. Ainda que praticidade ganhe da pureza)_
9. Errors should never pass silently. Unless explicitly silenced. _(Erros nunca devem passar silenciosamente. A menos que sejam silenciados explicitamente)_
10. In the face of ambiguity, refuse the temptation to guess. _(Diante da ambiguidade, recuse a tentação de adivinhar)_
11. There should be one – and preferably only one – obvious way to do it. Although that way may not be obvious at first unless you're Dutch. _(Deve ter um – e preferencialmente só um – jeito óbvio de fazer isso. Embora esse jeito não pareca óbvio de cara a menos que você seja holandês)_
12. Now is better than never. Although never is often better than *right* now. _(Agora é melhor que nunca. Embora nunca seja frequentemente melhor que o agora)_
13. If the implementation is hard to explain, it's a bad idea. _(Se a implementação é difícil de explicar, então é uma má ideia)_
14. If the implementation is easy to explain, it may be a good idea. _(Se a implementação é fácil de explicar, então talvez seja uma boa ideia)_
15. Namespaces are one honking great idea – let's do more of those! _(Namespaces são uma ótima ideia – vamos ter mais desses!)_

Não se preocupe em gravar essas verdades. Tudo tem seu tempo.

## Execução da Linguagem

Python é uma linguagem interpretada, o que significa que não é necessário compilar o código antes de executá-lo. Em vez disso, um programa Python é interpretado linha por linha pelo interpretador da linguagem, que é um programa que lê o código e executa as instruções presentes.

Ter um programa interpretado oferece algumas vantagens, como a facilidade de depuração e a portabilidade do código. Como o código é interpretado em tempo de execução, é possível parar o programa em qualquer momento e examinar o estado do programa para identificar erros. Além disso, os pacotes da linguagens, incluindo o interpretador, são geralmente pré-instalados em sistemas operacionais modernos, como algumas distribuições do Linux, o que significa que o código Python pode ser executado em diferentes plataformas sem a necessidade de recompilação.

No entanto, a interpretação também pode ter algumas desvantagens em relação à performance do programa. Como o interpretador precisa ler o código linha por linha e executar as instruções correspondentes, a execução do código pode ser mais lenta do que a execução de código compilado em outras linguagens. Além disso, a interpretação pode resultar em uso de mais recursos do sistema, visto que a interpretação “exclui” diversos processos de otimização que a compilação normalmente faz e resume outros em passos menores.

## Primeiros passos

Dadas as boas-vindas, vamos escrever um programa que printa `hello world!` no terminal. Após instalar a linguagem, provavalmente você viu sobre o prompt interpretador do terminal. Se sim, pode pular essa parte e ir direto para o código.

Ao digitar `python3`, `python` ou até `py` e pressionar a tecla **enter** você pode acessar o interpretador da linguagem no terminal, que ira interpretar seus scripts e mostrar seus resultados em seguida. Lá, você pode testar funções, listas de comandos e afins.

Com o prompt aberto, você verá a escrita `>>>` no início da linha com algo similar a isso:


![O ambiente REPL da linguagem Python](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/u5la7345ekv3efswwul7.png)

Agora, digite o comando abaixo e, em seguida, aperte **enter**:

```python
>>> print("hello world!")
```

Pronto! Você escreveu um script em Python que mostra a mensagem `hello world!` no terminal. Existe uma infinidade de possibilidades no universo de Python e esse foi só o pontapé inicial para algo grandioso. Caso sinta dificuldade para assimilar os construtos ou as características da linguagem, não se desanime! O começo não é fácil, mas não se deixe levar pelo medo, afinal, só vive o propósito quem suporta o processo.

[Próximo post](https://dev.to/iugstav/python-tipos-29a2)