Artigo original: The Best Python Tutorials

Traduzido em português europeu.

O Python é uma linguagem de programação de utilização geral, que é escrita e interpretada dinamicamente, conhecida pela sua fácil legibilidade com ótimos princípios de design.

O freeCodeCamp tem um dos cursos mais populares sobre Python. É completamente gratuito (e também não tem quaisquer anúncios, basta estar conectado à plataforma). Podes, também, assistir ao curso no YouTube.

Queres aprender mais?

A internet é um sítio vasto, existe muito mais para explorar (links em inglês):

Para que é utilizado o Python?

O Python pode ser facilmente utilizado para projetos pequenos, grandes, on-line e off-line. As melhores opções para utilizar Python são a programação para a web, criação simples de scripts e análise de dados. Abaixo estão alguns exemplos do que o Python permitirá fazer:

Programação para a web:

Podes utilizar o Python para criar aplicações para a web de vários níveis de complexidade. Existem muitas frameworks de Python para a web, incluindo Pyramid, Django e Flask, para mencionar algumas.

Análise de dados:

O Python é a principal escolha em termos de linguagem para muitos cientistas de dados. O Python cresceu em popularidade neste ramo devido à disponibilidade de várias bibliotecas excelentes focadas em ciências de dados (das quais, NumPy e Pandas são duas das mais conhecidas) e visualização de dados (como Matplotlib e Seaborn). O Python tornou o processamento de dados interessante com todas as suas inúmeras bibliotecas disponíveis. Ipython com JupyterLab é outra forma de Python que melhora a utilização de Python no ramo da ciência de dados.

Automatização:

Python é uma linguagem muito flexível que pode ser utilizada para automatizar tarefas aborrecidas e repetitivas. Administradores de sistemas utilizam-na geralmente ao escrever scripts que podem ser facilmente executados no terminal. O Python também pode ser utilizado para criar bots que automatizam algumas das nossas tarefas diárias.

Inteligência artificial:

O Python também é utilizado extensivamente no ramo emergente da Inteligência Artificial (IA). A Google selecionou o Python como uma das primeiras linguagens de programação bem suportadas para treinar e interagir com modelos, utilizando o Tensorflow.

Desenvolvimento de aplicações para dispositivos móveis

Podem ser criadas aplicações para dispositivos móveis e jogos com Python através da utilização de Kivy, Pygame e PyQt.

Segurança e rede:

O Python é utilizado para criar ferramentas de rede e segurança que são utilizadas amplamente. A automatização remota do Python é a mais segura, rápida e eficaz para testes de frameworks na cloud. É por isso que programadores profissionais utilizam Python para criar as frameworks mais seguras e para programação de sockets.

Machine Learning, Deep Learning

Python é uma das melhores linguagens adequadas para machine learning, deep learning e análises de dados, com uma forte eficácia em todos eles.

Existem linguagens especializadas mais adequadas para vários papéis, como R e MATLAB, mas, no que diz respeito a combinar vários ramos de aplicações, o Python vence facilmente devido à sua flexibilidade, rápida criação de protótipos e disponibilidade de bibliotecas.

Desenvolvimento de bots para o Telegram

Podes utilizar Python e algumas bibliotecas do Python para desenvolver os teus próprios Bots do Telegram (link em inglês).

Obtenção de dados através de gathering e scraping

O Python também pode ser utilizado para analisar o código-fonte das páginas e obter a sua informação. Utilizar alguns módulos do Python, tais como o Scrapy e também (para algumas páginas que utilizam JavaScript) o Selenium deve resolver o problema!

O Python é geralmente utilizado para:

  • Desenvolvimento para a web e Internet
  • Progresso educacional
  • Estudos/computações científicos
  • Desenvolvimento para desktop
  • Computação numérica
  • Desenvolvimento de software
  • Desenvolvimento de aplicações empresariais
  • Machine Learning
  • IOT (Internet Of Things)
  • Desenvolvimento de jogos
  • Prototipagem rápida
  • Automatização de browser
  • Análise de dados
  • Obter dados de websites
  • Processamento de imagens

Alguns artigos que abordam a utilidade do python

O índice oficial de pacotes para o Python está aqui (link em inglês).

Deves utilizar Python 2 ou Python 3?

As duas versões são semelhantes. Se conheceres uma delas, trocar para escrever código na outra é fácil.

  • Python 2.x não recebe mais manutenção desde 2020 (link em inglês).
  • 3.x está em desenvolvimento ativo. Isto quer dizer que todas as melhorias recentes de bibliotecas predefinidas, por exemplo, estão apenas disponíveis por defeito na versão Python 3.x.
  • O ecossistema do Python acumulou uma quantidade significativa de software de qualidade ao longo dos anos. A desvantagem de quebrar a compatibilidade com versões anteriores ao 3.x é que alguns desses softwares (especialmente software interno em empresas) ainda não funcionam na versão 3.x.

Instalação

A maior parte dos sistemas operativos com base *nix já trazem o Python instalado (geralmente o Python 2, ou Python 3 nos mais recentes). Substituir a instalação predefinida do Python no teu sistema não é recomendado e pode causar problemas. No entanto, podem ser instaladas diferentes versões do Python em segurança, juntamente com a versão predefinida do teu sistema. Ver Configuração do Python e utilização (link em inglês).

O Windows não vem com o Python instalado, mas o instalador e as instruções de instalação podem ser encontradas aqui (link em inglês).

Intérprete de Python

O intérprete de Python é o que é utilizado para executar scripts de Python.

Se este estiver disponível e no caminho de pesquisa da linha da shell do Unix, é possível iniciá-lo ao escrever o comando python, seguido pelo nome do script. Isto invocará o intérprete e executar o script.

hello_campers.py

print('Hello campers!')

A partir do terminal:

$ python hello_campers.py
Hello campers!

Quando estão instaladas várias versões do Python, é possível chamar o intérprete por versão, dependendo da configuração da instalação. No ambiente personalizado do IDE Cloud9, podem ser invocados da seguinte forma:

$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ python3.5 --version
Python 3.5.1
$ python3.6 --version
Python 3.6.2 
$ python3.7 --version
Python 3.7.1

Modo interativo do intérprete de Python

O modo interativo pode ser iniciado ao invocar o intérprete de Python com a flag -i ou sem qualquer argumento.

O modo interativo tem uma prompt onde podem ser inseridos e executados comandos de Python:

$ python3.5
Python 3.5.1 (default, Dec 18 2015, 00:00:00)
GCC 4.8.4 on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello campers!")
Hello campers!
>>> 1 + 2
3
>>> exit()
$

O Zen do Python

Alguns dos princípios que influenciaram o design do Python estão incluídos como extra e podem ser lidos ao utilizar o comando dentro do modo interativo do intérprete de Python:

>>> import this
O Zen do Python, escrito por Tim Peters

Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Linear é melhor do que aninhado.
Esparso é melhor que denso.
Legibilidade conta.
Casos especiais não são especiais o bastante para quebrar as regras.
Ainda que praticidade vença a pureza.
Erros nunca devem passar silenciosamente.
A menos que sejam explicitamente silenciados.
Diante da ambiguidade, recuse a tentação de adivinhar.
Deveria haver um — e preferencialmente só um — modo óbvio para fazer algo.
Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês.
Agora é melhor que nunca.
Embora nunca frequentemente seja melhor que já.
Se a implementação é difícil de explicar, é uma má ideia.
Se a implementação é fácil de explicar, pode ser uma boa ideia.
Namespaces são uma grande ideia — vamos ter mais dessas!

Prós e contras do Python

Prós

  1. Linguagem interativa com suporte de módulo para quase todas as funcionalidades.
  2. Código aberto: portanto, podes contribuir para a comunidade com as funções que desenvolveres para utilização futura e para ajudar outros.
  3. Muitos bons intérpretes e notebooks disponíveis para uma melhor experiência, como o Jupyter Notebook.

Contras

  1. Sendo de código aberto, foram desenvolvidas muitas formas diferentes das mesmas funções ao longo dos anos. Isso, por vezes, cria caos quando outras pessoas leem o código de outra pessoa.
  2. É uma linguagem lenta. Por isso, é uma linguagem muito má para desenvolver algoritmos comuns.

Documentação

O Python está bem documentado (link em inglês). Esses documentos incluem tutoriais, guias, referências e informações chave da linguagem.

Outra referência importante são as Python Enhancement Proposals (PEPs –Propostas de Melhoria do Python, em português). Incluído nas PEPs está um guia de estilos para escrever código Python, o PEP 8 (link em inglês).

Depuração

Podem ser utilizadas instruções print em linha para depurações simples:

por vezes, a forma mais rápida de depurar um programa é adicionar algumas instruções print ao código: o ciclo rápido de edição-teste-depuração torna esta abordagem muito eficaz.

Sumário executivo (link em inglês)

O Python também inclui ferramentas mais potentes para depuração, tais como:

  • módulo de registo, logging (link em inglês)
  • módulo de depuração, pdb (link em inglês)

Por enquanto, tem apenas em mente que elas existem.

Olá, mundo!

Voltando à documentação, podemos ler sobre a função print, uma função integrada (link em inglês) da Biblioteca Predefinida do Python (link em inglês).

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

As funções integradas estão listadas por ordem alfabética. O nome é seguido por uma lista entre parênteses de parâmetros formais com valores predefinidos opcionais. Por baixo disso, é fornecida uma breve descrição da função e dos seus parâmetros e existe, ocasionalmente, um exemplo.

A função print do Python 3 substitui a instrução print do Python 2.

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

Uma função é chamada quando o nome da função é seguido por (). Para o exemplo Olá, mundo!, a função print é chamada com uma string como argumento para o primeiro parâmetro. Para os restantes parâmetros, são utilizados os valores predefinidos.

O argumento com que chamamos a função print é um objeto str, ou string, um dos tipos integrados do Python. Além disso, a coisa mais importante sobre Python é que não precisas de especificar o tipo de dados quando declaras uma variável. O compilador do Python, ele próprio, fará isso com base no tipo do valor atribuído.

O parâmetro objects tem um * como prefixo, que indica que a função receberá um número arbitrário de argumentos para esse parâmetro.