DEV Community

Gustavo Soares
Gustavo Soares

Posted on • Edited on

Python: O Começo de Tudo

Próximo post

Disclaimer

Este material não retrata a instalação da linguagem, logo, é destinado a quem já instalou Python e deseja explorar suas características e fundamentos. Assumo que a instalação da linguagem e a configuração do ambiente já foram realizadas.

Caso não tenha a feito, pode acompanhar um dos links abaixo:

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

Houve inúmeras mudanças na computação das últimas décadas até hoje. As máquinas ficaram mais poderosas, a complexidade dos softwares aumentou e novos desafios foram surgindo. Com isso, foram se criando ambientes onde a produtividade de quem estivesse desenvolvendo o software era mais valorizada em prol da performance bruta da execução.

Seguindo esse raciocínio, seria inviável pensar em produtividade e ainda assim escrever Assembly ou C. A galera só queria um javascript da vida que suprisse as necessidades do software sem sacrificar o desenvolvedor! Foi nesse contexto que nasceu Python.

Python é uma linguagem de script (O que é uma linguagem de script?) de alto nível, multiparadigma, interpretada e dinamicamente tipada cuja filosofia preza pela simplicidade e legibilidade. Python é aquela linguagem que torna tudo mais fácil – inclusive te humilhar lembrando daquele seu programa em C++ que você gastou 3 noites em claro e usou 510 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, Ciência de Dados e desenvolvimento de websites.

Embora Python sacrifique performance pensando na experiência do desenvolvedor, isso não significa que a linguagem seja uma lesma. As comparações são comumente feitas com linguagens de médio nível com propósitos diferentes aos de Python, como C++ e Java, que atuam nas mesma áreas, mas com outras prioridades.

Sintaxe

O propósito da linguagem é ter uma sintaxe mais próxima do ser humano a fim de simplificar o processo de entendimento do código, a tão falada expressividade. Para isso, Python utiliza paravras reservadas simples e próximas do inglês, o que facilita o raciocínio criado por desenvolvedores.

Uma linguagem expressiva garante ao usuário da linguagem formas mais claras e concisas de escrever executáveis corretamente, mas fica ao cargo de quem programa escrever códigos expressivos.

Um dos aspectos mais marcantes de Python é o uso de indentação para marcar blocos de código. Diferente das linguagens que usam chaves {} ou palavras reservadas como do ... end para delimitar um escopo ou bloco de código, Python define os escopos do programa por meio tabs ou espaços no seu código. Isso torna o código mais legível e organizado, mas também cria maiores chances de quebrar o programa ao esquecer a indentação de alguma parte do mesmo. É essencial manter a consistência na hora de indentar seu programa.

Para garantir as boas práticas de desenvolvimento, existe um conjunto de princípios em Python 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.

Algumas 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)

Esses princípios são guias úteis para escrever códigos mais claros e legíveis. Não se preocupe em memorizá-los de imediato; com o tempo, eles se tornarão naturais.

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, o interpretador de Python executa o código linha por linha, o que oferece vantagens como:

  • Facilidade de Depuração: Você pode parar o programa a qualquer momento para examinar o estado atual e identificar erros.
  • Portabilidade: O código Python é executado em diferentes plataformas sem 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 em tempo real, linha por linha, e executar as instruções correspondentes, a execução do código pode ser mais lenta se for comparada à execução de linguagens compiladas. Apesar da perda de performance, para muitas aplicações, como scripts de automação e prototipagem rápida, essa diferença é insignificante dado o contexto em que essas aplicações estão inseridas.

Primeiros passos

Dadas as boas-vindas, vamos escrever um programa que mostra hello world! no terminal. Se você instalou Python com sucesso, já deve ter acesso ao interpretador via terminal. Ele pode ser ativado digitando python3, python ou py, dependendo da configuração e do seu sistema operacional.

Ao digitar python3, python ou até py e pressionar a tecla enter você pode acessar o interpretador da linguagem no terminal, que 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

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

print("hello world!")
Enter fullscreen mode Exit fullscreen mode

Pronto! Você acabou de escrever um script em Python que exibe uma mensagem no terminal.

Fato curioso: Caso queira muito ver os princípios do Zen of Python, você pode digitar import this nesse mesmo prompt e esse comando escreverá na tela os princípios em inglês.

Exemplo prático adicional: O código abaixo cria uma lista e exibe seus elementos no terminal.

frutas = ["maçã", "banana", "laranja"]
for fruta in frutas:
    print(fruta)
Enter fullscreen mode Exit fullscreen mode

O resultado será:

maçã
banana
laranja
Enter fullscreen mode Exit fullscreen mode

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.

Explore bibliotecas populares como NumPy para matemática, Flask para desenvolvimento web ou Pandas para análise de dados. E lembre-se: o mais importante é continuar praticando e explorando.

Próximo post

Top comments (2)

Collapse
 
brunoferrots profile image
BrunoFerroTs

Muito bom o conteúdo.
Fiquei até curioso...
Tem uma coisa que eu não entendo muito bem é: esse interpretador é feito em qual linguagem e com o Python faz para ter acesso as libs de C e C++ ?

Collapse
 
iugstav profile image
Gustavo Soares

Olá! Sobre a primeira pergunta, o interpretador padrão de python (o que vem na instalação), chamado CPython, é feito em C, mas existem variações. Quando se fala do processo de interpretação, Python se comporta como uma interface geral, onde existem várias variações de interpretadores feitas em diferentes linguagems. Por exemplo, temos o Jython, que produz código para rodar na JVM (Java Virtual Machine).

Quanto a segunda pergunta: não há uma forma embutida na linguagem de fazer acesso às bibliotecas de C e C++. No entanto, temos bibliotecas que fazem essa ponte, como a ctypes, que compila o código e o transforma num utilizável Python, ou as próprias implementações de bibliotecas feitas em outras linguagens como NumPy e afins.