Entre para a LISTA VIP da Black Friday

00

DIAS

00

HORAS

00

MIN

00

SEG

Clique para saber mais

O que é Python? — um guia completo para iniciar nessa linguagem de programação

O que é Python? — um guia completo para iniciar nessa linguagem de programação
Caroline Carvalho
Caroline Carvalho

Compartilhe

O que é Python?

O Python se tornou uma das linguagens de programação mais populares do mundo nos últimos anos. Isso se deve, principalmente, à sua versatilidade: ele funciona para o aprendizado de máquinas, construção de sites e até para automação de tarefas e testes de softwares.

Além disso, sua proximidade com a linguagem humana faz com que muitas pessoas o utilizem, tanto quem desenvolve quanto quem necessariamente faz parte desse mercado.

Nesse artigo, vamos apresentar uma abordagem bem completa, trazendo questões importantes a respeito da linguagem Python, como:

  • O que é a linguagem de programação Python;
  • Introdução a Python: como começou;
  • Alguns recursos básicos para utilizá-lo;
  • Quais as IDEs mais populares entre quem utiliza Python;
  • Quais os tipos de dados em Python;
  • Bibliotecas e frameworks mais usados.

Vamos lá?

Banner da promoção da black friday, com os dizeres: A Black Friday Alura está chegando. Faça parte da Lista VIP, receba o maior desconto do ano em primeira mão e garanta bônus exclusivos. Quero ser VIP

O que é Python?

Python é uma linguagem de programação de uso geral. Isso significa que é uma linguagem que funciona para criar uma grande variedade de aplicações diferentes.

Ou seja, o Python é uma linguagem geral, que não é especializada em nenhum problema específico.

Essa versatilidade e a facilidade de uso para pessoas iniciantes, fez com que se tornasse uma das linguagens mais comuns atualmente.

Características do Python

Alguns dos principais pontos que trazem destaque para o Python são:

Linguagem interpretada

O fato de ser uma linguagem interpretada, o que significa que ela não precisa passar pelo processo de compilação.

O processo de interpretação é executado dentro de máquinas virtuais, nas quais o código passa por uma camada intermediária que irá traduzir os comandos de programa para código binário.

Isso acelera bastante a velocidade de desenvolvimento.

Sintaxe simples

Sua sintaxe é simples, fácil de aprender e muito próxima da linguagem falada por nós.

Por isso, podemos dizer que ela se trata de uma linguagem de alto nível.

Multiparadigma

Ela é um multiparadigma, pois nos dá a possibilidade de programar em vários paradigmas, tais como:

  • Procedural, com instruções transmitidas ao computador na sequência em que devem ser executadas;

  • Funcional, paradigma que consiste em programas construídos aplicando e compondo funções;

  • Orientação a objetos, que traz a perspectiva do mundo real para a programação, tornando os programas fáceis de entender devido a essa relação.

O próprio programa “reconhece” qual tipo de dado está sendo utilizado, fazendo com que ele não precise ser previamente declarado. Por isso dizemos que ele possui uma semântica dinâmica.

O Python é utilizado para desenvolvimento de software, análise de dados, inteligência artificial, automação de tarefas, criação de aplicativos web e daí por diante.

Ele também possui uma vasta biblioteca padrão e uma comunidade ativa de pessoas desenvolvedoras, o que facilita encontrar soluções e recursos para diferentes projetos.

A história: como surgiu o Python?

O desenvolvimento do Python aconteceu, inicialmente, pelo programador holandês Guido van Rossun, no final da década de 1980.

Mas sua primeira versão foi lançada só em 1991 no Centrum Wiskunde & Informatica — CWI (Instituto Nacional de Pesquisa para Matemática e Ciência da Computação), na Holanda.

A linguagem fez grandes avanços para o desenvolvimento de código aberto, utilizando as PEPs (“Propostas de Enriquecimento do Python”) como principal ferramenta para sugestões de melhoramento e discussões da comunidade.

As Propostas de Enriquecimento do Python funcionam para descrever mudanças na linguagem ou em suas normas.

O público pode avaliá-las e aceitá-las e rejeitá-las, depois de muitas discussões. Qualquer pessoa pode escrever e enviar uma PEP para avaliação.

Python – Hipsters Ponto Tech #122

Ouvir um pouco de:
Python – Hipsters #122

Por que o Python é tão importante? — entenda por que aprender a programar em Python

De acordo com a pesquisa Python Developers Survey 2023 Results”, realizada pela JetBrains, o Python é umas das linguagens que mais crescem em relevância e valorização pelas empresas.

Isso se deve especialmente a três características: agilidade, praticidade e versatilidade, sobretudo para projetos mais complexos.

As áreas que mais utilizam Python são:

Gráfico de barras horizontais com ranking, listando áreas por porcentagem com a classificação: 47% Data analysis, 42% Machine learning, 39% Web development, 31% Programming of web parsers / Scrapers / Crawlers, 30% System administration / Writing automation scripts / Infrastructure configuration, 26% Software testing / Writing automated tests, 23% Educational purposes, 22% software prototyping, 16% desktop development, 12% network programming, 6% embedded development, 5% game development, 4% computer graphics, 3% mobile development, 4% other.

Créditos: Python Developers Survey 2023

Para se aprofundar no tema, recomendamos também ouvir o podcast Python Fluente – Hipsters Ponto Tech #179

7 Motivos para aprender a programar em Python

Podemos apontar como os principais motivos para aprender Python:

  1. Possui uma Sintaxe simples;
  2. É Multiplataforma e de código aberto;
  3. É versátil;
  4. Tem uma comunidade fiel e ativa;
  5. É utilizado por grandes empresas;
  6. É o mais popular na Ciência de Dados;
  7. Está em alta no mercado de trabalho.

Saiba mais: qual a melhor linguagem de programação?

A MELHOR linguagem de programação com Fabio Akita | #HipstersPontoTube

Primeiros passos e recursos básicos

Primeiros Passos em Data Science: Do Excel e BI ao Python – Hipsters Ponto Tech #134

Ouvir um pouco de:
Primeiros Passos em Data Science: Do Excel e BI ao Python – Hipsters #134

Veja mais para seus primeiros passos:

  1. Como instalar o Python no Windows;
  2. Como instalar o Python no Linux; e
  3. IDEs para desenvolvimento.

01) Como instalar o Python no Windows

Para instalar o Python no seu sistema operacional Windows, você deve baixar o instalador disponível na página de download oficial do Python e clicar em download, como mostrado abaixo.

Página de download do Python com um botão amarelo exibindo o texto “Download Python 3.11.1.

Faça o download do instalador executável do Windows e clique duas vezes para iniciar o assistente de instalação.

O processo de instalação é bem simples:

  1. Marque a opção “Add Python to PATH”;
  2. Clique em “Install Now”;
  3. Após a instalação, basta clicar no botão “Close”;
  4. Para verificar se a instalação do Python foi bem-sucedida, pesquise no Menu Iniciar por “cmd” e clique duas vezes para abri-lo;
Menu do Windows com o comando “cmd” digitado no campo de pesquisa, imagem do ícone do Prompt de Comando
  1. Digite o comando python --version para se assegurar da versão do Python que está instalada.
Tela do Prompt de Comando com o cabeçalho inicial, logo abaixo o comando “python --version” e o retorno do comando com a mensagem “Python 3.7.4”
  1. Agora digite pip --version. Este comando retornará a versão do pip instalada em sua máquina. O pip é o gerenciador de pacotes. Com ele, você poderá adicionar novas funcionalidades ao Python.
Tela do Prompt de Comando com o comando “pip --version” e o retorno do comando com a mensagem “pip 19.0.3”

02) Como instalar o Python no Linux

  1. Os sistemas operacionais baseados no Debian já possuem o Python3 pré-instalado. Verifique se esse é o caso do seu sistema executando o seguinte comando no terminal:
python3 -V

É importante que a letra V esteja maiúscula! Assim será retornada a versão do Python3 instalada.

  1. Se você ainda não tiver ele instalado, digite os seguintes comandos no terminal:
sudo apt-get update
sudo apt-get install python3

03) IDEs para desenvolvimento

Ainda segundo a pesquisa “Python Developers Survey 2023” esses são os ambientes de desenvolvimento mais utilizados para desenvolver em Python:

Gráfico de barras horizontais com o título “Which IDE / editor do you mostly use for Python development?” e ranking com a classificação: 32% Visual Studio Code, 29% PyCharm Professional Edition, 20% PyCharm Community Edition, 6% Jupyter Notebook, 3% IntelliJ IDEA, 2% Vim, 1% Sublime Text, 1% NotePad++, 1% IDLE, 1% Spyder, 1% Emacs, 1% DataSpell, 1% Other.

Créditos: Python Developers Survey 2021 Results

Fica bem evidente que dentre as opções disponíveis no mercado, as pessoas que trabalham com desenvolvimento web costumam escolher o Visual Studio Code e Pycharm.

3.1) VS Code

Então, que tal instalar o VS Code?

Para isso, basta fazer o download do pacote de instalação disponível no site oficial, que será semelhante à imagem a seguir:

Página de download do Visual Studio Code com as logos do Windows, Linux, e Mac e um botão azul abaixo de cada um deles para realizar o download da IDE.

3.2) PyCharm

Para instalar a outra IDE, nós também utilizamos o pacote de instalação disponível no site oficial do Pycharm. Mantenha a atenção para realizar o download da versão Community, pois ela está disponível gratuitamente:

Página de download do PyCharm com o botão “Baixar” em cinza do lado direito da página, abaixo da frase “Baixar Pycharm” e da opção “Commmunity”. À esquerda está a opção Professional, com o botão de download em azul.

Pycharm ou VSCode: qual ferramenta escolher para programar em Python?

Quais são os tipos de dados em Python?

Como você já sabe, Python é uma linguagem dinamicamente tipada, o que significa que não é necessário declarar o tipo de variável ou fazer casting (mudar o tipo de variável), pois o Interpretador se encarrega disso para nós.

Isso significa também que, se por algum motivo precisarmos alterar o tipo de variável durante a execução do programa, é possível fazer essa mudança.

Os tipos de dados padrão do Python são:

  1. Inteiro (int);

Exemplo: 1

  1. Ponto Flutuante ou Decimal (float);

Exemplo: 1.1

  1. Tipo Complexo (complex);

Exemplo: 8j

  1. String (str);

Exemplo: hello

  1. Boolean (bool);

Exemplo: true / false

  1. List (list);

Exemplo: ['Mônica', 'Ana', 'Bruno', 'Alice']

  1. Tuple;

Exemplo: (90, 79, 54, 32, 21)

  1. Dictionary (dic);

Exemplo: {'Camila': 1.65, 'Larissa': 1.60, 'Guilherme': 1.70}

01) Tipo Inteiro (int)

É um tipo usado para um número que pode ser escrito sem um componente decimal, podendo ser positivo ou negativo.

No código abaixo, por exemplo, vemos as variáveis, idade e ano, com os valores 20 e 2010 atribuídos a elas; se pedirmos que o programa imprima o tipo das variáveis, teremos como retorno que elas são do tipo inteiro:

idade = 20
ano = 2010

print(type(idade))
print(type(ano))

<class ‘int’>
<class ‘int’>

02) Ponto Flutuante ou Decimal (float)

É um tipo composto por números decimais. O float é usado para números racionais (que podem ser representados por uma fração), informalmente conhecidos como “números quebrados”.

No código abaixo, por exemplo, vemos as variáveis altura e peso com os valores 1.73 e 78.500 atribuídos a elas.

Se pedirmos que o programa imprima o tipo das variáveis, teremos como retorno que elas são do tipo float:

altura = 1.73
peso = 78.500

print(type(peso))
print(type(altura))

<class ‘float’>
<class ‘float’>

03) Complexo (complex)

Tipo de dado usado para representar números complexos, normalmente em cálculos geométricos e científicos.

Um tipo complexo contém duas partes: a parte real e a parte imaginária, sendo que a imaginária contém um j no sufixo.

Com a função complex() podemos converter reais em números complexos. Ela traz dois argumentos, sendo o primeiro deles um número real, correspondente à parte real do número complexo, e o outro, um argumento opcional, que representa a parte imaginária. Por exemplo: z = complex(x,y).

No exemplo abaixo, vemos as variáveis, a e b, com os valores 10+16j e 3+80j atribuídos a elas.

Se pedirmos que o programa imprima o tipo das variáveis, vamos ter como retorno que elas são do tipo complex:

a = 10+16j
b = 3+80j

print(type(a))
print(type(b))

<class ‘complex’>
<class ‘complex’>

04) String (str)

É um conjunto de caracteres geralmente utilizados para representar palavras, frases ou textos.

Temos como exemplo as variáveis nome e profissão, com os dados Guilherme e Engenheiro de Software atribuídos a elas.

Pedindo para o programa imprimir o tipo dessas variáveis, teremos como retorno que elas são strings:

nome = ‘Guilherme’
profissao = ‘Engenheiro de Software’

print(type(profissao ))
print(type(nome))

<class ‘str’>
<class ‘str’>

05) Boolean (bool)

Tipo de dado lógico que pode representar apenas dois valores: falso ou verdadeiro (False ou True, em Python).

Na lógica computacional, podem ser considerados como 0 ou 1. Como exemplo, temos as variáveis: sexta_feira e feriado, com os dados True e False atribuídos a elas.

Se pedirmos que o programa imprima o tipo das variáveis, vamos ter como retorno que elas são do tipo boolean:

sexta_feira = True
feriado = False

print(type(sexta_feira))
print(type(feriado))

<class ‘bool’>
<class ‘bool’>

06) Listas (list)

As listas agrupam um conjunto de elementos variados, podendo conter: inteiros, floats, strings, outras listas e outros tipos.

Elas são definidas utilizando-se colchetes para delimitar a lista e vírgulas para separar os elementos. Já existe um artigo sobre listas em Python: operações básicas na plataforma, caso você queira se aprofundar no tema.

No código abaixo, por exemplo, vemos as variáveis alunos e notas, com os dados: ’Mônica’, ’Ana’, ’Bruno’, ’Alice’ e 10, 8.5, 7.8, 8.0 atribuídos a elas.

Pedindo para o programa imprimir o tipo das variáveis, vamos ter como retorno que elas são do tipo lista:

alunos = [‘Mônica’, ‘Ana’, ‘Bruno’, ‘Alice’]
notas = [10, 8.5, 7.8, 8.0]

print(type(alunos))
print(type(notas))

<class ‘list’>
<class ‘list’>

07) Tuplas (tuple)

Assim como as listas, a tupla é um tipo que agrupa um conjunto de elementos.

Porém, sua forma de definição é diferente, já que utilizamos parênteses e as informações são separadas por vírgula.

Mas a *principal diferença das listas é que as tuplas são imutáveis, ou seja, após sua definição, não podem ser modificadas.

Para saber mais a respeito desse tipo, confira o artigo “Conhecendo as tuplas no Python”.

No exemplo abaixo, há as variáveis valores e pontos, com conjuntos de dados atribuídos a elas.

Pedindo para o programa imprimir o tipo das variáveis, temos como retorno que elas são do tipo tuple.

valores = (80, 29, 45, 91, 23)
pontos = (10, 29.05, 66.8, 72)

print(type(valores)
print(type(pontos))

<class ‘tuple’>
<class ‘tuple’>

Se tentarmos modificar uma tupla, receberemos a seguinte mensagem de erro:

IDE Jupyter Notebook exibindo o retorno”TypeError: ‘tuple’ object does not support item assignment"

08) Dicionários (dict)

Os dicionários são normalmente utilizados para agrupar elementos através da estrutura de chave e valor, de forma que a chave é o primeiro elemento, seguido por dois pontos e pelo valor.

Vemos abaixo um exemplo de seu uso, por meio de variáveis de altura e idade, com dados de pessoas como primeiro elemento e os respectivos dados referentes às alturas e idades como valores.

altura={‘Sandra’:1.65, ‘Elizabeth’: 1.60, ‘Roberto’: 1.70}
idade = {‘Sandra’:35, ‘Elizabeth’:58, ‘Roberto’:68}”

print(type(altura)
print(type(idade))

<class ‘dict’>
 <class ‘dict’>

Como mudar o tipo da variável no Python?

Em alguns cenários pode ser necessário mudar o tipo de uma variável e no Python isso é muito fácil, justamente por se tratar de uma linguagem dinamicamente tipada.

Vejamos a seguir, alguns exemplos de como trocar os tipos de variáveis.

Float para String

#Antes de converter
altura=1.55
print(type(altura)

#Fazendo a conversão
altura = str(altura)”

#Depois da conversão
print(type(altura) 
print(altura)

<class ‘float’>
<class ‘str’>
 1.55

Inteiro para Float

#Antes de converter
idade=18
print(type(idade))

#Fazendo a conversão
idade = float(idade)

#Depois da conversão
print(type(idade) 
print(idade)

<class ‘intt’>
<class ‘float’>
18.0

Estruturas condicionais em Python: if, elif e else

Estruturas condicionais são artifícios utilizados para controlar o fluxo de execução de programas, assim podemos determinar qual bloco de código será executado a partir de uma determinada condição.

Na linguagem Python, podemos fazer isso utilizando as estruturas if, elif e else, como veremos a seguir.

If

Utilizamos o if em um programa quando pretendemos verificar se uma ação é verdadeira e executar o bloco de código contido em seu escopo.

Fazemos isso da seguinte forma:

media = 7
if media > 6.9:
print(“Você foi aprovado)”

Neste exemplo, nosso programa irá executar e retornar a mensagem: “Você foi aprovado”, apenas se a variável media possuir um valor maior que 6.9.

Caso o valor seja menor do que isso, ele simplesmente irá ignorar o comando ''print'' e finalizará logo em seguida.

Else

Se usarmos o if/else em conjunto, faremos com que uma das ações presentes no código sejam executadas, pois se determinada condição (if) for verdadeira, o programa executará uma ação.

Caso não seja verdadeira, executaremos o else, ou seja, outra ação. Desse modo, testamos se uma condição é verdadeira.

Neste exemplo abaixo, nosso programa irá executar e retornar a mensagem: “Você foi reprovado”, apenas se a variável media possuir um valor menor que 4.9. Caso contrário, será printado: “Você foi aprovado”.

media = 5
if media < 4.9:
print(“Você foi reprovado”)
else:
    print(“Você foi aprovado”)

If, elif e else

Utilizamos if/elif/else quando precisamos verificar mais de uma condição. Imagine que precisamos verificar se um aluno foi reprovado ou se ele ficou de recuperação.

Teríamos algo parecido com o seguinte cenário:

media = 6
if media < 5
print(“Você foi reprovado”)
elif media > 5 
media < 7
    print(“Você fará a recuperação”)
else:
    print(“Você foi aprovado”)

Primeiro, precisamos verificar se a média do aluno é menor que 5.

  • Em caso positivo, vamos imprimir a mensagem: “Você foi reprovado”.

  • Caso essa condição seja falsa, precisamos verificar se ele foi aprovado ou se fará a recuperação.

Para isso, o elif irá testar se a média está entre os valores 5 e 7. Se sim, vamos imprimir a mensagem: “Você fará a recuperação”. Se a condição do if e do elif forem falsas, o código contido no else será executado e imprimirá a mensagem: “Você foi aprovado”.

Estrutura Match

A partir do Python 3.10, podemos utilizar a estrutura match, que é uma maneira mais organizada e legível para lidar com múltiplas condições. Ela nos permite combinar padrões e executar o bloco de código correspondente ao primeiro padrão que for verdadeiro.

media = 6

match media:
    case media if media < 5:
        print("Você foi reprovado")
    case media if 5 <= media < 7:
        print("Você fará a recuperação")
    case media if media >= 7:
        print("Você foi aprovado")

O trecho primeiro verifica a media e avalia cada caso para determinar qual bloco de código executar, da seguinte forma:

  • O primeiro case verifica se a média é menor que 5 e, se isso for verdadeiro, imprime "Você foi reprovado".
  • O segundo case verifica se a média está entre 5 e 7 (inclusive) e, se isso for verdadeiro, imprime "Você fará a recuperação".
  • O terceiro case verifica se a média é maior ou igual a 7 e, se isso for verdadeiro, imprime "Você foi aprovado".

Se nenhuma das condições for satisfeita, o match não executa nenhum bloco de código, mas podemos adicionar um case como padrão para lidar com casos que não prevemos.

Embora a estrutura match em Python não seja exatamente uma estrutura condicional no sentido tradicional como if, elif, e else, ela serve para controlar o fluxo do programa com base em diferentes condições e padrões

Estruturas de repetição Python: for e while

As estruturas de repetição são utilizadas quando queremos que um bloco de código seja executado várias vezes. Em Python podemos fazer isso de duas formas: utilizando for ou while.

Como usar For no Python?

Utilizamos o for quando queremos iterar sobre um bloco de código por um determinado número de vezes.

for i in range(1,10):
    print(i)

Saída:

1
2
3
4
5
6
7
8
9

Como usar o While no Python?

A outra forma de repetir a execução de um trecho de código até que uma condição seja satisfeita é utilizar o while.

Ou seja, é necessário que uma expressão booleana dada seja verdadeira. A partir do momento que ela se tornar falsa, o while para.

gastos=0
valor_gasto=0
while gastos < 1000
    valor_gasto = int(input(“Digite o valor gasto”))
    gastos = gastos + valor_gasto
print(gastos)

Digite o valor do novo gasto 20
Digite o valor do novo gasto 500
Digite o valor do novo gasto 480
1000

Boas Práticas de programação em Python

Com a constante evolução da tecnologia sempre surgem novas formas de escrever um código.

Por isso, aplicar boas práticas de programação é fundamental para aprimorar o ambiente de trabalho, ter qualidade no momento de programar, manter o código legível, organizado e funcional.

Como desenvolver boas práticas de programação? com Fabio Akita | #HipstersPontoTube

Módulos e bibliotecas em Python

Você deve já deve ter visto menções aos pacotes, módulos e bibliotecas de Python. Mas afinal, o que são eles e como funcionam? Vamos entender melhor o comportamento e a utilidade de cada um a seguir.

Vejamos uma definição de módulo de acordo com a documentação da linguagem:

“Um módulo é um arquivo Python contendo definições e instruções.”

O nome do arquivo é o módulo com o sufixo .py adicionado.

Dentro de um módulo, o nome do módulo (como uma string) está disponível na variável global name.

O conjunto desses módulos (arquivos) pode ser chamado de pacote ou biblioteca.

Já os pacotes, ainda segundo a documentação: “São uma maneira de estruturar namespaces para módulos Python utilizando a sintaxe de ‘nomes pontuados’ (dotted names).”

Um namespace é uma coleção de nomes simbólicos, atualmente definidos junto com informações sobre o objeto ao qual cada nome faz referência.

Você pode pensar em um namespace como um dicionário, no qual as chaves são os nomes dos objetos e os valores são os próprios objetos. Cada par chave-valor mapeia um nome para seu objeto correspondente.

Para ilustrar melhor, vamos observar o seguinte exemplo:

  • Criaremos um módulo que representa um círculo. Para isso, geramos um arquivo chamado ‘circulo.py’ com o seguinte conteúdo:
Pi=3.14159

def area(raio):
    return Pi*(raio **2)

def comprimento_circunferencia(raio):
    return 2*Pi*raio: return 2*Pi*raio”]()
  • Para usar o módulo acima, podemos importar seus dados para outro arquivo da seguinte forma:
import circulo 

print(circulo.Pi)
print(circulo.area(5)
print(circulo.comprimento_circunferencia(5))
  • Dessa forma, teremos o retorno:
3.14159
78.53975
31.4159

Caso quiséssemos utilizar apenas a função area() poderíamos importar apenas ela por meio do comando from circulo import area.

Isso é útil em casos de módulos muito grandes e quando queremos usar apenas uma ou outra função deles.

Com base nisso, precisamos entender que a biblioteca padrão Python é um conjunto de módulos disponíveis para que você possa importá-los e usar suas funcionalidades quando quiser.

O PythonPath

Até agora, tratamos apenas de casos em que os módulos importados estavam no mesmo nível de diretório daqueles que os importavam.

Em outros casos, precisamos entender como o interpretador Python busca por módulos em outros diretórios.

Quando uma instrução “import” é executada, o interpretador primeiramente irá verificar se o módulo requerido está no diretório atual. Se estiver, vai importá-lo como vimos no exemplo.

Caso contrário, a busca se estenderá ao PYTHONPATH. O PYTHONPATH é uma lista de diretórios na qual o interpretador Python irá buscar por módulos para importação.

Um dos módulos mais utilizados é o datetime. Você pode aprender mais sobre o módulo datetime no artigo Python datetime: Como faço para definir data e hora em Python?

PyPI

O Python Package Index, abreviado como PyPI é o repositório de software oficial de terceiros para Python.

De acordo com a documentação oficial:

“PyPI é o Índice de Pacotes padrão para a comunidade Python. Está aberto a todos os desenvolvedores Python para consumir e distribuir suas distribuições.”

Alguns gerenciadores de pacotes, incluindo o pip, usam o PyPI como a fonte padrão para os pacotes e suas dependências, e mais de 113.000 pacotes Python podem ser acessados por meio do PyPI.

O PyPI, primariamente, hospeda pacotes Python na forma de arquivos pré-compilados e funciona como um índice.

Assim, ele permite que os usuários e usuárias pesquisem e criem pacotes por meio de palavras-chave ou por filtros que ficam disponíveis com licença de software livre.

Para saber mais sobre o PyPI você pode consultar o artigo “Como publicar seu código Python no PyPI”

Ambientes virtuais

Normalmente, aplicações em Python usam pacotes e módulos que não vêm como parte da instalação padrão.

Algumas aplicações podem precisar de uma versão específica de uma biblioteca caso seja necessária a resolução de algum problema em particular, ou ainda, se o software foi desenvolvido utilizando-se de uma versão obsoleta da interface da biblioteca.

Isso significa que talvez não seja possível uma instalação Python preencher todos os requisitos necessários.

Se uma aplicação “A” necessita da versão 1.0 de um módulo particular, mas a aplicação “B” necessita da versão 2.0, os requisitos entrarão em conflito e instalar qualquer uma das duas versões fará com que uma das aplicações não seja executada.

A solução para esse problema é criar um ambiente virtual, uma árvore de diretórios que contenha uma instalação Python para uma versão particular do Python, além de uma série de pacotes adicionais.

Para aprender mais sobre esses ambientes, leia o artigo Python: Venv e Poetry para criar ambientes virtuais.

Python e Inteligência Artificial

Python é uma das linguagens de programação mais versáteis e poderosas para trabalhar com inteligência artificial (IA).

Uma das maiores vantagens de usar Python para IA é a disponibilidade de bibliotecas que facilitam a construção de modelos de aprendizado de máquina e deep learning. Algumas das bibliotecas mais populares incluem:

  • Scikit-learn: ideal para tarefas de aprendizado de máquina tradicionais, como classificação, regressão e clustering. É fácil de usar e possui uma vasta gama de algoritmos.
  • TensorFlow e Keras: utilizadas principalmente para deep learning. TensorFlow, desenvolvido pelo Google, é uma biblioteca para construir e treinar redes neurais.

Keras oferece uma interface de alto nível que facilita o desenvolvimento de modelos complexos. A biblioteca pode ser executada em conjunto com o Tensorflow.

  • PyTorch: desenvolvido pelo Facebook, é outra biblioteca popular para deep learning, especialmente em pesquisa acadêmica. É conhecido pela sua flexibilidade e facilidade de uso.

Além de criar seus próprios modelos, você também pode utilizar APIs de empresas especializadas em IA para acessar recursos avançados sem precisar construir tudo do zero. Um exemplo notável é a OpenAI, que oferece uma API para IA generativa.

A API da OpenAI permite integrar capacidades avançadas de processamento de linguagem natural (NLP) em suas aplicações. Com a API, é possível realizar tarefas como geração de texto, tradução, resumo e muito mais, utilizando modelos treinados por especialistas em IA.

Quais são as Bibliotecas e Frameworks mais utilizados?

Algumas das bibliotecas e frameworks mais utilizados em Python são:

  • NumPy: para computação numérica, permite a manipulação de arrays multidimensionais e funções matemáticas de alto desempenho.

  • Pandas: para manipulação e análise de dados, fornece estruturas de dados flexíveis e eficientes para trabalhar com dados tabulares.

  • Matplotlib: para criação de gráficos e visualizações de dados em Python.

  • TensorFlow: framework de aprendizado de máquina de código aberto para desenvolver e treinar modelos de aprendizado profundo.

  • Django: framework web de alto nível que facilita o desenvolvimento rápido e seguro de aplicativos web.

  • Flask: framework web leve e flexível para a criação de aplicativos web em Python.

  • SciPy: biblioteca para computação científica que fornece funcionalidades para otimização, interpolação, processamento de sinais, álgebra linear e muito mais.

  • Scikit-learn: para aprendizado de máquina, fornece algoritmos de classificação, regressão, clustering e pré-processamento de dados.

  • BeautifulSoup: para extração de dados de páginas web, permitindo a raspagem de dados de forma fácil e eficiente.

  • Requests: para fazer requisições HTTP de maneira simples e fácil, muito útil para acessar APIs e baixar conteúdo da web.

  • Pillow: para processamento de imagens, oferece funcionalidades para abrir, manipular e salvar muitos formatos de arquivos de imagem.

  • Asyncio: para programação assíncrona, permite escrever código concorrente usando a estrutura de async/await, facilitando a execução de operações de I/O de forma eficiente.

  • Tkinter: biblioteca padrão do Python para a criação de interfaces gráficas (GUI), permitindo o desenvolvimento de aplicativos desktop com uma variedade de widgets.

Essas são apenas algumas das bibliotecas e frameworks mais populares em Python, mas existem muitas outras disponíveis para diferentes fins e necessidades.

É importante lembrar que um framework Python é um conjunto de pacotes e módulos que tornam a programação mais fácil e rápida. Para saber ainda mais sobre o assunto, leia o artigo sobre frameworks

Eles fornecem uma série de ferramentas necessárias na hora de desenvolver uma aplicação.

A pesquisa “Python Developers Survey 2023” nos traz os seguintes resultados, reforçando os frameworks e bibliotecas mais utilizadas:

“Flask, Django e FastAPI ainda são os 3 principais frameworks web Python. O FastAPI tem visto um uso crescente nos últimos anos, subindo de 14% em 2021 para 25% em 2023. Este framework é renomado por seu foco em alto desempenho e ergonomia para desenvolvedores, aproveitando os recursos modernos do Python, como type hinting e suporte assíncrono embutido. Ele é especificamente projetado para a construção de APIs com Python, oferecendo uma gama de recursos e benefícios adicionais para aumentar a eficiência do desenvolvimento.”; e

Gráfico de barras horizontais com os dados da pesquisa realizada pela Python Developers Survey 2023, com o título “What web frameworks / libraries do you use in addition to Python?”, apresentando o ranking dos mais utilizados, e sua porcentagem de votos para os anos de 2022/2023, onde a classificação foi: 39/40% Django, 40/38% Flask, 20/25% FastAPI, 3/4% web2py, 3/2% Tornado, 2/2% CherryPy, 1/2% Pyramid, 1/1% Falcon, 2/1% Bottle, 0/1% Hug, 4/4% outro, 32/31% nenhum.

Créditos: Python Developers Survey 2023

“NumPy, pandas e Matplotlib continuam sendo os frameworks mais populares para tarefas de ciência de dados. PyTorch melhorou sua posição em 7 pontos percentuais desde o ano passado, provavelmente como resultado da crescente popularidade do deep learning.”

Gráfico de barras horizontais com os dados da pesquisa realizada pela Python Developers Survey 2023, com o título “What data science frameworks do you use in addition to Python?”, apresentando o ranking dos mais utilizados, e sua porcentagem de votos para os anos de 2022/2023, onde a classificação foi: 62/64% Numpy, 56/59% Pandas, 43/44% Matplotlib, 28/35% PyTorch, 30/33% TensorFlow, 29/32% scikit-learn, 27/29% SciPy, 19/20% Keras, 17/19% Seaborn, 8/9% NLTK, 2/2% Gensim, 1/1% MXNet, 1/1% Theano, 3/2% Outro e 24/22% Nenhum.

Créditos: Python Developers Survey 2023

Empresas que utilizam Python

Podemos destacar algumas das gigantes de tecnologia que adotaram Python como sua linguagem queridinha, e a utilizam em áreas como: análise de dados, big data, desenvolvimentos de jogos, inteligência artificial, computação gráfica, automação, dentre outras.

Confira a seguir, algumas dessas empresas:

01) Google

Uma das maiores fãs de Python no mundo, possui seu próprio jargão, que diz: “Python where we can, C++ where we must” (em tradução livre: Python onde possível, C++ onde obrigatório).

Python é uma das linguagens de programação mais populares dentro da companhia, junto com Java e C++.

02) Instagram

Utiliza o Python como principal linguagem de programação desde 2016. Em 2017, realizou uma grande mudança para o Python 3 e anunciou o gerenciamento do maior projeto de desenvolvimento web de Django escrito inteiramente em Python.

03) Amazon

As sugestões que aparecem na plataforma são resultados de análises de hábitos de compras e padrões de busca, realizadas tanto com Python — machine learning e Big Data — quanto pelo Hadoop, banco de dados da Amazon.

04) Spotify

O Spotify patrocina conferências e eventos dedicados à linguagem, além de alimentar as bibliotecas com documentação, utilizá-la para análise de dados, e também em seus serviços de back-end.

05) Facebook

É a terceira linguagem mais usada entre quem desenvolve o Facebook, responsável por publicar diversos projetos de código aberto usando Python, contribuindo para diversas bibliotecas.

06) Globo

Por último, mas não menos importante, a Globo, que realiza o gerenciamento dos conteúdos de seus portais utilizando Python, que por ser uma linguagem muito dinâmica, proporciona um grande benefício para tratar do volume altíssimo de informações diárias que a empresa recebe.

Os melhores livros de tecnologia para ler e se aprofundar

Os MELHORES livros de tecnologia para ler em Programação com Roberta Arcoverde | #HipstersPontoTube

Aprenda mais sobre Python gratuitamente

Essas formações gratuitas podem te ajudar a aprender Python:

01) Formação: Python para Data Science

[Acesse as primeiras aulas da Formação Python para Data Science] de forma gratuita. Ela foi feita pela Escola de Dados da Alura. Continue aprendendo sobre temas como:

02) Formação: Aprenda a programar em Python com Orientação a Objetos

Acesse gratuitamente as primeiras aulas da Formação Aprenda a programar em Python com Orientação a Objetos, feita pela Escola de Programação da Alura e continue aprendendo sobre temas como:

03) Cursos de Python e IA

Acesse as primeiras aulas da Formação OpenAI e Python: crie ferramentas poderosas e chatbots inteligentes com as APIs da OpenAI de forma gratuita. Ela foi feita pela Escola de Inteligência Artificial da Alura. Assim, você vai continuar aprendendo temas como:

Acesse gratuitamente as primeiras aulas dos cursos de IA para Programação e continue aprendendo sobre temas como:

[Acesse as primeiras aulas dos cursos de IA para Dados] de forma gratuita e continue aprendendo sobre temas como:

Apostilas da Alura — Você profissional em T

Apostila de Python e Orientação a Objetos da Alura

Mergulhe na Apostila de Python e Orientação a Objetos e aprenda tópicos importantes que envolvem a linguagem de programação Python, como:

  • Como aprender Python;
  • O que é Python;
  • Variáveis e tipos embutidos;
  • Introdução ao Pycharm;
  • Estrutura de dados;
  • Funções;
  • Arquivos;
  • Orientação a Objetos;
  • Modificadores de acesso e métodos de classe;
  • Pycharm e Orientação a objetos;
  • Herança e Polimorfismo;
  • Herança Múltipla e Interfaces;
  • Exceções e Erros;
  • Collections;
  • Apêndice — Python2 ou Python3?;
  • Apêndice — Instalação.

Baixe ela completa e as demais apostilas da coleção da Alura em: Apostilas da Alura — Conteúdo livre para o seu aprendizado.

Conclusão

Neste artigo você aprendeu mais sobre Python, entendendo um pouco do porquê ele é considerado uma linguagem versátil, dinâmica e de fácil aprendizagem, além de ter uma noção de sua história.

Você também entendeu alguns conceitos básicos da linguagem, quais são os ambientes de desenvolvimento mais utilizados por pessoas desenvolvedoras em Python e suas principais aplicações dentro da área de desenvolvimento.

Por último, você viu algumas das empresas que mais trabalham com o Python e em quais processos a linguagem é usada por elas.

Para se aprofundar ainda mais no assunto, você pode navegar pelos seguintes conteúdos:

Caroline Carvalho
Caroline Carvalho

Analista de qualidade de software, estudante de Engenharia de Computação e de Análise e Desenvolvimento de Sistemas. Faço parte do Scuba Team, exploradora do universo Python , e também gosto muito de DevOps. Nas horas vagas gosto de falar sobre cultura geek e café.

Veja outros artigos sobre Programação