A linguagem de programação Python, como já explicamos anteriormente, por causa de sua simplicidade e por possuir várias bibliotecas poderosas, é a principal para o desenvolvimento de redes neurais, aprendizagem de máquinas e inteligência artificial (AI).
Se você é iniciante em Python, esse post é para você. Nele, iremos cobrir aspectos bem fundamentais de Python. O objetivo do post não é fornecer uma descrição detalhada sobre os módulos e funcionalidades desta linguagem. Nosso foco é apenas em dar uma visão geral sobre alguns conceitos básicos para iniciantes. Esses conceitos foram selecionados de acordo com sua importância para o desenvolvimento de algoritmos de AI e redes neurais.
Pré-requisitos
- Um computador com Python 3.x (versão 3.0 ou acima disso)
- Compreensão básica de conceitos de programação
- E, é claro, curiosidade e vontade de aprender
Conceitos básicos de Python: variáveis
Os conceitos básicos de Python que iremos tratar são variáveis, estrutura de dados e estruturas de controle.
Variáveis são elementos para armazenamento de valores de dados.
Os principais tipos de variáveis usadas em redes neurais e inteligência artificial são string (abreviada como str), número inteiro (int), e número com casas decimais (float). O Python também possui outros tipos de variáveis que podem ser consultados aqui.
No seu editor de código, elas podem ser declaradas como nos exemplos abaixo. “Maria” é uma string, 2 é um inteiro e 2.0 é um float. O comando print, nesse exemplo, é usado para mostrar no terminal os tipos das variáveis que acabamos de definir.
var1 = "Maria"
var2 = 2
var3 = 2.0
print(type(var1), type(var2), type(var3))
Resultado:
Conceitos básicos de Python: estrutura de dados
Estrutura de dados se refere a elementos usados para armazenar conjuntos de itens organizados em uma única variável. O python possui quatro tipos de estruturas de dados: listas, dicionários, tuplas e sets. Cada um desses tipos tem suas particularidades incluindo a possibilidade de ter várias cópias do mesmo item (duplicações), ser mutável ou não, ter indexação para seus itens e ser ordenado. Veja a figura com as especificidades para cada tipo.
No código abaixo exemplificamos como cada um deles pode ser definido. Listas são definidas com “[]”, tuplas com “()”, dicionários e sets usam “{}”. Note porém que dicionários são diferentes de sets. A estrutura dos dicionários é composta pelo par key:value (chave:valor). Para saber mais, consulte a documentação oficial.
minha_lista = ["José", 3, 3.0]
print(minha_lista)
meu_dicionario = {'nome': 'Ana','idade': 30, 'cidade': 'Barretos'}
print(meu_dicionario)
minha_tupla = ("Pedro", 3, 3.0)
print(minha_tupla)
meu_set = {'Maria', 100, 'Curitiba'}
print(meu_set)
Resultado:
['José', 3, 3.0]
{'nome': 'Ana', 'idade': 30, 'cidade': 'Barretos'}
('Pedro', 3, 3.0)
{'Curitiba', 100, 'Maria'}
Conceitos básicos de Python: estruturas de controle
Estruturas de controle se referem a conceitos mais elaborados. Nós iremos abordar três deles: condicionais (if statements), loops e funções.
Condicionais são estruturas usadas para verificar condições lógicas de igualdade (==), diferenças (!=), para verificar se um valor é maior (>) ou menor (<) do que o outro, ou se é maior ou igual (>=) ou menor ou igual (<=) a outro. Os comandos mais básicos usados são: o “if” que verifica a presença de condição lógica, e o “if … else”, que testa uma condição lógica e indica o que fazer quando ela não é verdadeira. Além desses comandos, também existem outros mais elaborados que nós não vamos abordar neste post. Veja abaixo alguns exemplos com “if” e “if…else”.
valA = 'Maria'
valB = 'Maria'
if valA == valB:
print("Sim, {} é igual a {}!".format(valA, valB))
valC = 'Maria'
valD = 'Ana'
if valC != valD:
print("Sim, {} é diferente de {}!".format(valC, valD))
val1 = 5
val2 = 3
if val1 > val2:
print("Sim, {} é maior do que {}!".format(val1, val2))
val3 = 2
val4 = 6
if val3 > val4:
print("Sim, {} é maior do que {}!".format(val3, val4))
else:
print("Não, {} não é maior do que {}!".format(val3, val4))
val5 = 6
val6 = 6
if val5 >= val6:
print("Sim, {} é maior ou igual a {}!".format(val5, val6))
else:
print("Não, {} não é maior ou igual a {}!".format(val5, val6))
val7 = 7
val8 = 6
if val7 <= val8:
print("Sim, {} é menor ou igual a {}!".format(val7, val8))
else:
print("Não, {} não é menor ou igual a {}!".format(val7, val8))
Note que a indentação usada nesses exemplos (espaços antes de cada comando print no código acima) não é opcional. O Python usa espaços (a convenção é usar quatro espaços para cada nível de indentação) para indicar o que está dentro ou fora de estruturas como condicionais, loops e funções. Portanto, é muito importante que você se atente aos espaços presentes nos códigos.
Resultados do código acima:
Sim, Maria é igual a Maria!
Sim, Maria é diferente de Ana!
Sim, 5 é maior do que 3!
Não, 2 não é maior do que 6!
Sim, 6 é maior ou igual a 6!
Não, 7 não é menor ou igual a 6!
Loops são usados para executar uma série de comandos. O Python tem dois tipos de loops: while e for. O while executa comandos enquanto uma condição é verdadeira.
i = 0
while i < 10:
print(i)
i = i + 1
Resultado:
0
1
2
3
4
5
6
7
8
9
Já o for é usado para iterações em uma sequência como uma lista ou para executar uma série de comandos em um intervalo finito indicado pelo comando range.
for i in range(10):
print(10 + i)
Resultado:
10
11
12
13
14
15
16
17
18
19
Funções são blocos de código que só são executados quando são chamados. É possível passar dados para uma função, geralmente chamados como parâmetros ou argumentos, para que ela execute uma transformação sobre neles. Também é possível definir uma função para retornar dados como seu resultado (output). Funções são definidadas em Python com o comando def.
def minhaFunc(valor):
resultado = valor * 5
return resultado
# chamando a função
valor = 10
resultado = minhaFunc(valor)
print(resultado)
Resultado:
50
Como seguir a partir daqui?
Esse post apresentou conceitos bem básicos de Python. Se você tem interesse em continuar aprendendo, busque mais tutoriais em blogs e canais do youtube. Para aprender Python especificamente para inteligência artificial e redes neurais, fique atento aos nossos próximos posts. Até lá, procure se informar sobre bibliotecas do Python como Numpy, TensorFlow, Keras e PyTorch.
Veja também:
Concatenações com join() para strings em Python
O que é operador ternário em Python?
F-strings em Strings Multilinhas
Decodificação de strings em Python com decode()
Métodos para Manipular Strings em Python
Módulo Getpass para Prompts de Senhas
Aprenda a comparar textos com Python com Difflib
Módulo textwrap para formatação de textos
Manipulação de arquivos com Python
os.environ: gerenciamento de variáveis de ambiente com Python
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.