Você está na página 1de 34

Linguagem de

Programação Aplicada
Material Teórico
Conceitos Gerais, IDEs e Introdução à Linguagem Python

Responsável pelo Conteúdo:


Prof. Dr. Alcides Teixeira Barboza Junior

Revisão Textual:
Prof. Esp. Claudio Pereira do Nascimento
Conceitos Gerais, IDEs e
Introdução à Linguagem Python

• Introdução;
• Ambiente de Desenvolvimento Python para Análise de Dados;
• Introdução ao Python.

OBJETIVOS DE APRENDIZADO
• Apresentar a linguagem Python como uma alternativa para Análise de Dados;
• Entender como funcionada o ecossistema Python para Análise de Dados e como fazer
sua instalação;
• Conhecer a sintaxe e principais estruturas da linguagem como condicionais, repetições,
listas e funções built-in.
Orientações de estudo
Para que o conteúdo desta Disciplina seja bem
aproveitado e haja maior aplicabilidade na sua
formação acadêmica e atuação profissional, siga
algumas recomendações básicas:
Conserve seu
material e local de
estudos sempre
organizados.
Aproveite as
Procure manter indicações
contato com seus de Material
colegas e tutores Complementar.
para trocar ideias!
Determine um Isso amplia a
horário fixo aprendizagem.
para estudar.

Mantenha o foco!
Evite se distrair com
as redes sociais.

Seja original!
Nunca plagie
trabalhos.

Não se esqueça
de se alimentar
Assim: e de se manter
Organize seus estudos de maneira que passem a fazer parte hidratado.
da sua rotina. Por exemplo, você poderá determinar um dia e
horário fixos como seu “momento do estudo”;

Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma


alimentação saudável pode proporcionar melhor aproveitamento do estudo;

No material de cada Unidade, há leituras indicadas e, entre elas, artigos científicos, livros, vídeos
e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade. Além disso, você
também encontrará sugestões de conteúdo extra no item Material Complementar, que ampliarão
sua interpretação e auxiliarão no pleno entendimento dos temas abordados;

Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de discus-
são, pois irão auxiliar a verificar o quanto você absorveu de conhecimento, além de propiciar o
contato com seus colegas e tutores, o que se apresenta como rico espaço de troca de ideias e
de aprendizagem.
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

Introdução
Nesta disciplina iremos aprender a utilizar a linguagem Python para Análise
de Dados. Agora você se pergunta: mas por que iremos utilizar essa linguagem?
A explicação é simples, Python se tornou uma linguagem poderosa com o passar
do tempo e atualmente é uma das mais utilizadas para Análise de Dados, Data
Science e Inteligência Artificial.

A linguagem possui sintaxe simples de fácil aprendizagem, traz estruturas de


dados sofisticadas e trabalha com o paradigma orientado a objetos. Iremos estudar
tudo isso nesta disciplina.

Sua concepção ocorreu aproximadamente em 1989, contudo sua implemen-


tação aconteceu somente em 1991, ano em que seu criado Guido van Rossum
publicou seu código em um grupo de discussões.

A programação em Python é portável para diferentes sistemas, ou seja, podemos


fazer nosso código e executar o mesmo em Windows, Mac OS e Linux.

Mas surge outra pergunta, por que escolhemos Python se existem outras lingua-
gens para Análise de Dados no mercado? Algumas das razões são: coleta de dados,
limpeza dos dados, transformação dos dados, processamento, criação de modelos,
avaliação de modelos e construção de gráficos e dashboard, ou seja, podemos fazer
tudo isso com a linguagem Python.

Existem quatro linguagens que são amplamente utilizadas quando se fala em ciên-
cia de dados, temos o Python, linguagem R, Scala e Java. Aqui, como já foi falado,
iremos aprender toda a estrutura da linguagem para, então, nas próximas unidades,
possamos explorar seu poder no processamento de dados e análise de dados.

Ressaltamos ainda que o Python possui uma vasta comunidade que auxilia seu
desenvolvimento e atualizações, além de possuir uma enorme quantidade de biblio-
tecas específicas para Análise de Dados.

Então, vamos iniciar nossos estudos e conhecer essa linguagem!

Você Sabia? Importante!

O nome da linguagem Python não foi inspirado no nome da cobra píton, seu nome teve
como base um programa de comédia chamado Monty Python’s Flying Circus, contudo, seu
logo se manteve com a imagens de duas cobras (azul e amarela).

Assista ao vídeo sobre a história do Python narrada pelo seu criador Guido van Rossum,
Explor

disponível em: https://youtu.be/J0Aq44Pze-w

8
Acesse o site do Python para consultar sua documentação, fazer o download e aprender mais
Explor

sobre a linguagem, disponível em: http://bit.ly/2Apd22M

Ambiente de Desenvolvimento
Python para Análise de Dados
O Python possui uma quantidade enorme de pacotes para uso, alguns autores
chamam um conjunto de pacotes destinados para Análise de Dados como PyData
Stack. Na Figura 1 podemos ver alguns dos principais pacotes relacionados à aná-
lise de dados.

Figura 1 – PyData Stack (Pacotes para Análise de Dados)


Fonte: Reprodução

Como você percebeu, na Figura 1 existem muitos pacotes. Nesta disciplina, nas
próximas unidades, iremos estudar os principais pacotes que nos darão base para
fazermos nossas análises e com isso nos permitam criar gráficos e processamento
de alguns conjuntos de dados.

Antes de aventurarmos nesse mundo, você tem que se perguntar: O que preci-
so ter no meu computador para trabalhar com o Python voltado para Análise de
Dados? Em primeiro lugar e mais óbvio é a linguagem Python, contudo, somente a
linguagem não fornece todos os pacotes que iremos utilizar, lógico que você pode
instalar os pacotes individualmente, conforme sua necessidade, mas isso pode tra-
zer transtornos, então, para minimizar nosso trabalho de instalação, iremos utilizar
um ecossistema que podemos dizer ser completo para nossos objetivos na discipli-
na, estamos falando do Anaconda Python.

Antes de falarmos do Anaconda, vale destacar que utilizaremos a versão do Python 3


nesta disciplina, fique atento pois os comandos variam em relação a versão anterior. Como

9
9
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

mencionamos, não usaremos o Python puro, iremos usar a distribuição Anaconda que
traz os pacotes que precisamos para fazer análise de dados. Fique tranquilo, o Anaconda
traz o interpretador Python 3 também como seu core.

Acesse o site do Anaconda para baixar e instalar a ferramenta. Na Figura 2 mostra-


-mos a página de Download e a versão que você deverá baixar em seu computador.

Figura 2 – Versões do Python no pacote Anaconda

Após baixar, o processo de instalação é bem simples, siga as etapas do instala-


dor e na tela que aparecer Advanced Options (Figura 3), marque a caixa de verifi-
cação “Add Anaconda to my Path”.

Figura 3 – Configurando o Path do Anaconda

A configuração do path nos ajudará na execução de comandos de qualquer pas-


ta do computador no prompt de comando, então, embora ele marque em vermelho
essa opção e fale que não é recomendado, pode marcar sem receio.

No pacote Anaconda, temos disponível o editor de código puro do Python


(IDLE), o Spyder (IDE de desenvolvimento) e o Jupyter Notebook (versão Web
com o interpretador Python, roda no navegador). Você pode, ainda, encontrar
uma vasta quantidade de IDEs na Web, como, por exemplo, o PyCharm. Fique à

10
vontade para instalar e usar a que você achar melhor, tenha em mente que nosso
objetivo é aprender a linguagem Python independente da ferramenta.

Após a instalação, acesse o prompt de comando do Windows e digite python


para executá-lo no prompt, Figura 4.

Figura 4 – Python no prompt de comando


Faça um teste como na Figura 4, digite no prompt >>> a expressão 2+2 e pressio-
ne enter, o interpretador do Python irá executar e mostrar a resposta dessa operação.

Outra ferramenta que podemos utilizar é o IDLE do próprio Python, para isso,
digite na pesquisa o Windows ou procure no seu sistema por “IDLE”, abra a ferra-
menta e faça o mesmo teste com a expressão 2+2, Figura 5.

Figura 5 – IDLE do Python


Por fim, podemos executar o Anaconda (que é um pouco pesado para abrir) ou
utilizar o Jupyter Notebook. Para usar o Jupyter, crie uma pasta em seu computa-
dor; na sequência, acesse essa pasta no prompt de comando e depois digite jupyter
notebook, Figura 6.

Figura 6 – Executando o Jupyter Notebook no prompt

11
11
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

Ao executar o comando jupyter dentro da pasta de trabalho, tudo que criarmos


será salvo dentro dela. Ressaltamos que o Jupyter irá ser executado no navegador
Internet Explorer (ambiente Windows), contudo, copie o endereço deste navegador
e cole na barra de endereço do Chrome ou o navegador de sua preferência. Ao cha-
mar o endereço do ambiente em outro navegador, será solicitado um token, você
encontra o token na execução do prompt, veja na Figura 7.

Figura 7 – Token de execução do Jupyter

Copie o token conforme a execução no seu computador e insira na página do


Jupyter. Após entrar na ferramenta, clique em New>>>Python 3. A Figura 8 mos-
tra um exemplo do uso do Jupyter com a expressão 2+2, rodando no Chrome.

Figura 8 – Jupyter Notebook em execução

Para executar o comando no Jupyter, pressione SHIFT+ENTER ou clique no


botão de RUN.

Pronto, neste momento você dever ter percebido que temos uma variedade de
ferramentas para se trabalhar com Python voltado para Análise de Dados, escolha
a ferramenta que você se adaptar melhor. Nesta disciplina, usaremos bastante o
Jupyter Notebook (são criados arquivos com a extensão ipynb) e eventualmente
o IDLE do Python para gerar arquivos .py (arquivo do código fonte do Python).

12
Ressaltamos que podemos exportar nossos códigos feitos no Jupyter para arquivos
.py e com isso executá-los no IDLE ou prompt de comando. Vamos então começar
com a linguagem.

Existem dois sites do Anaconda, o .com (destinado a parte corporativa) e o .org (destinado
Explor

para o serviço em nuvem (Cloud). Em ambos os sites podemos baixar nossa ferramenta de
trabalho, basta clicar em Download. Disponível em: http://bit.ly/2Qnu4JA
Navegue pelo site do Jupyter Notebook para conhecer mais sobre a ferramenta,
disponível em: http://bit.ly/2Qg71QA
Como alternativa e para o desenvolvimento tradicional em Python, teste o PyCharm,
disponível em http://bit.ly/2QdAsTw

Introdução ao Python
Como vimos na introdução, utilizaremos o Python. Nesta seção, você irá estu-
dar toda a sintaxe da linguagem que lhe dará a base necessária para acompanhar as
demais unidades da disciplina. Mesmo que você tenha algum conhecimento sobre
a linguagem, é sempre válido repassar alguns conceitos.

Operações matemáticas
Podemos utilizar o interpretador do Python para fazer operações matemáticas
simples ou complexas. Basicamente temos o tipo inteiro (int) e real (float) para
representar os números. Para criar suas expressões matemáticas, utilize a mesma
forma da matemática básica, inclusive a precedência é a mesma e você ainda pode
usar parênteses para mudar a ordem de execução.

Veja um exemplo básico na Figura 9.

Figura 9 – Expressão matemática no Python

Você pode ainda utilizar o comando (função) type para identificar o tipo de da-
dos de um valor, veja o exemplo no código a seguir:

13
13
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

>>> type(5)

Resposta: <class ‘int’>

>>> type(4.56)

Resposta: <class ‘float’>

Variáveis e Operadores
Para criarmos nossas expressões matemáticas, precisamos, além de trabalhar
com os números, saber quais são os operadores que a linguagem trabalha e como
criar variáveis que irão compor nossas expressões.

A tabela 1 apresenta os operadores aritméticos e duas conversões para inteiro


e real.

Tabela 1 – Operadores aritméticos


Operador Significado Exemplo
+ Soma 3+3 => 6
- Subtração 3-2 => 1
* Multiplicação 5*4 => 20
/ Divisão (resposta float) 4/2 => 2.0; 5/2 => 2.5
// Divisão (resposta int) 4//2 => 2; 5//2 => 2
% Resto da divisão 5%2 => 1
** Potência 2**3 => 8
int() Converter para int int(4.5) => 4
float() Converter para float float(3) => 3.0

Veja na tabela 2 os operadores relacionais.

Tabela 2 – Operadores relacionais


Operador Significado
== Igualdade
!= Desigualdade/diferença
> Maior que
< Menor que
>= Maior ou igual a
<= Menor ou igual a

Agora vamos criar variáveis em Python, você deve lembrar que variável é basica-
mente um espaço em memória que reservamos para armazenar valores que serão
utilizados durante a execução do código. Podemos criar diversas variáveis em nosso
código. As regras para criação de variáveis são:
• não podem começar com número;
• não pode haver espaços entre os nomes, devemos utilizar _;
• Não podemos usar caracteres especiais como <>\|/ etc.

14
Também não podemos usar as palavras reservadas da linguagem, ou seja, você
deve criar seus próprios nomes de variáveis e de preferência que tenha um signifi-
cado conforme a informação que ela irá guardar.

Você pode criar variáveis em Python simplesmente atribuindo um valor para ela,
por exemplo, para criar a variável x com o valor 10, basta digitar x = 10.

Veja que apareceu um operador “=” na instrução acima, esse operador faz parte
dos operadores de atribuição da linguagem.

A tabela 3 apresenta os operadores de atribuição, esses operadores são muito


utilizados com variáveis.
Tabela 3 – Operadores de atribuição
Operador Significado Exemplo
= Atribuição x = 10
+= Soma + atribuição x += 10 (equivale a x = x + 10)
-= Subtração + atribuição x -= 10 (equivale a x = x - 10)
*= Multiplicação + atribuição x *= 10 (equivale a x = x * 10)
/= Divisão + atribuição x /= 10 (equivale a x = x / 10)
%= Resto da divisão + atribuição x %= 10 (equivale a x = x % 10)
**= Potência + atribuição x **= 2 (equivale a x = x ** 2)
//= Divisão inteira + atribuição x //= 10 (equivale a x = x // 10)

Por fim, existem os operadores lógicos apresentados na tabela 4.


Tabela 4 – Operadores lógicos
Operador Significado
and Operador E
or Operador OU
not Operador de negação

A relação entre esses operadores é dada pela tabela verdade (Tabela 5).
Tabela 5 – Tabela com a relação dos operadores lógicos
expressão 1 expressão 2 expressão 1 and expressão 2
Falso Falso Falso
Falso Verdadeiro Falso
Verdadeiro Falso Falso
Verdadeiro Verdadeiro Verdadeiro
expressão 1 expressão 2 expressão 1 or expressão 2
Falso Falso Falso
Falso Verdadeiro Verdadeiro
Verdadeiro Falso Verdadeiro
Verdadeiro Verdadeiro Verdadeiro
expressão 1 not expressão 2
Falso Verdadeiro
Verdadeiro Falso

15
15
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

Antes de fazermos alguns exemplos, vamos apresentar dois comandos ou fun-


ções básicas referentes a leitura de dados por meio do teclado e saída de dados, em
outras palavras, impressão na tela.

O comando para leitura por meio do teclado é o input, destacamos que esse
comando faz a leitura somente de valores em formato texto (string), sendo as-
sim, caso queira ler dados numéricos, utilize as funções de conversão apresen-
tadas anteriormente.

Veja um exemplo disto no código e sua execução na Figura 10:

Figura 10 – Leitura com o input

Para lermos dados numéricos, o correto é utilizar em conjunto com o input a


função int ou float, conforme o que precisamos ler, se é inteiro ou real. A Figura 11
apresenta o código que faz a leitura e conversão para inteiro do valor lido.

Figura 11 – Leitura e conversão para inteiro

Vamos agora colocar isso em prática, iremos fazer a soma de 2 valores inteiros
por meio de variáveis e apresentar a resposta com o comando print.

Para iniciar essa prática, abra o IDLE do Python e digite as instruções abaixo:

>>> a = 10

>>> b = 30

>>> soma = a+b

>>> print(“A soma de “, a, “ + “, b , “ é igual a:”, soma)

A resposta será exibida como: “A soma de 10 + 30 é igual a: 40”

Vamos fazer agora um pequeno código para calcular a área de um retângulo,


sendo que o usuário deve digitar o valor de largura e altura. O código ficará conforme
o exemplo a seguir.

16
Você pode utilizar o IDLE ou o Jupyter Notebook, agora ficará a seu critério.

>>> largura = float(input(“Digite a largura do retângulo: “))

Digite a largura do retângulo: 10

>>> altura = float(input(“Digite a altura do retângulo: “))

Digite a altura do retângulo: 5

>>> area = largura * altura

>>> print(“A área do retângulo é: “, area)

A área do retnângulo é: 50.0

Destacamos os trechos em azul para mostrar a execução de cada instrução, veja


que em nosso código, além dos números, temos textos; em programação, geralmente
os classificamos como strings. Veremos a seguir como manipular textos no Python.

Strings
Strings nada mais são que sequências de caracteres. Em Python, elas podem
ser representadas por aspas “” ou apóstrofo ‘’, por exemplo: “Olá Mundo” tem o
mesmo efeito de ‘Olá Mundo’.

Podemos atribuir valores do tipo string a variáveis e fazer concatenação com va-
lores numéricos, a concatenação se dá por meio da função str, veja alguns exemplos:

nome = “Alcides”

altura = 1.69

print(nome+”, altura = “+str(altura))

Alcides, altura = 1.69

A função str() faz a conversão de um valor qualquer para o tipo string em Python.

As strings, como comentamos, são conjunto de caracteres, logo, podemos aces-


sar cada um dos caracteres do conjunto por meio de colchetes []. Destacamos que o
acesso aos caracteres individualmente é feito por meio de um índice numérico que
se inicia em 0, veremos alguns exemplos:

texto = “Olá Mundo em Python”

print(texto)

Olá Mundo em Python

print(texto[0]) #imprime o primeiro caracter do texto armazenado na variável

17
17
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

Podemos ainda, fatiar (slicing) a string, um recurso bastante utilizado em análise de


dados, para trabalharmos com os conjuntos de informações que queremos processar.

Para fatiar uma string, utilizamos o símbolo de : (dois pontos) dentro dos colche-
tes para manipular os índices. Vejamos alguns exemplos:

>>> texto = “Análise de Dados em Python”

>>> print(texto[2]) #irá acessar o índice 3 e mostrará “á”

>>> texto2 = texto[1:] #indica que iremos capturar a partir da posição 1 até
o final

>>> texto2

‘Análise de Dados em Python’

>>> texto2 = texto[:6] #indica que iremos capturar a string do inicio até a
posição 6-1

>>> texto2

‘Anális’

Podemos ainda utilizar valores negativos para acessar de trás para frente, exemplo:

>>> texto[-1]

‘n’

>>> texto[-2]

‘o’

Para encerrarmos o conceito de strings, temos ainda a opção de fazer uma


repetição com a string, por exemplo, se você precisar atribuir para uma variável o
valor “www”, pode utilizar o operador *, exemplo:

letra = “w”*3

print(letra)

www

Também temos a disposição algumas funções (métodos) para manipular a string,


vamos citar algumas aqui, mas você deve saber que existem outras e pode consultar
na documentação da linguagem. Vejamos alguns exemplos:

x = “curso ead”

print(x.upper()) #transforma a string para letras maiúsculas

CURSO EAD

print(x.lower()) #transforma a string para letras minúsculas

18
curso ead

print(x.capitalize()) #transforma a primeira letra da string

Curso ead

print(x.split()) #divide a string em uma lista

[‘curso’, ‘ead’]

print(x.count(“o”)) #conta a quantidade de ocorrência de um ou mais caracteres

print(x.find(“x”)) #procura um ou mais caracteres retornando o índice inicial


e retorna -1 caso não encontre

-1

print(x.find(“c”)) #retorna a posição 0

Você percebeu que ao usar a função split o resultado retornado foi um conjunto de
valores entre colchetes? Chamamos isso de lista, iremos estudá-la na próxima seção.

Estruturas de dados: listas, dicionários e tuplas


Existem três formas de representarmos conjuntos de valores em Python, essas
três formas são: listas, dicionários ou tuplas. Embora sejam representações de um
conjunto de valores, cada uma possui sua aplicação e funções específicas que ve-
remos a seguir.

Listas
Listas são representadas com o uso dos colchetes [] e o tipo de dados é list. Pode-
mos inclusive usar o slicing como fizemos com as strings. Vejamos alguns exemplos:
#vamos criar uma lista de frutas

frutas = [“maça”, “banana”, “uva”, “laranja”, “morango”]

print(frutas) #imprime a lista inteira

[‘maça’, ‘banana’, ‘uva’, ‘laranja’, ‘morango’]

print(frutas[2]) #imprime somente a fruta da posição 2, o índice começa em 0

uva

fruta = frutas[0] #armazena na variável somente a fruta da posição 0

fruta #mostra o valor da variável

‘maça’

copia = frutas[:3] #faz o fatiamento do inicio até a posição 2 da lista

19
19
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

copia #mostra o valor da variável


[‘maça’, ‘banana’, ‘uva’]
frutas.append(“damasco”) #o append adiciona um novo elemento a lista
frutas
[‘maça’, ‘banana’, ‘uva’, ‘laranja’, ‘morango’, ‘damasco’]
del frutas[2] #o del elimina um elemento da lista
frutas
[‘maça’, ‘banana’, ‘laranja’, ‘morango’, ‘damasco’]

Podemos ainda concatenar listas:


lista1 = [1,2,3,4]
lista2 = [5,6,7]
lista3= lista1 + lista2
lista3
[1, 2, 3, 4, 5, 6, 7]

Uma lista é uma estrutura de dados mutável, ou seja, podemos alterar os valores
das posições dela. Exemplo

lista = [1,2,3]
lista[0]
1
lista[0]=1000
lista
[1000, 2, 3]

Para finalizar, iremos comentar algumas funções para se manipular listas, fique
à vontade para testá-las no Python. Seguem algumas funções:
• len(nome_lista): retorna a quantidade de elementos da lista;
• max(nome_lista): retorna o valor máximo da lista;
• min(nome_lista): retorna o valor mínimo da lista;
• operador “in” para verificar se um valor existe na lista:
» lista=[1,2,3];
» print(10 in lista);
» False;
» print(1 in lista);
» True.
• nome_lista.sort(): ordena a lista.

Não deixe de consultar sempre a documentação para ver todas as funções de


manipulação de listas.

20
Dicionários
Dicionários em Python também representam um conjunto de valores, porém
essa representação se dá por meio de um mapeamento chave:valor. Os dicionários
são criados utilizando as chaves { }.

Imagine que queremos armazenar nomes de pessoas e suas respectivas idade,


podemos usar um dicionário para fazer isso, veja o exemplo:

nome_idades={“alcides”:39, “lukas”:18, “bruna”: 24, “leonardo”: 25}

nome_idades

{‘alcides’: 39, ‘lukas’: 18, ‘bruna’: 24, ‘leonardo’: 25}

print(nome_idades[“alcides”])

39

Podemos adicionar novos elementos ao dicionário:

nome_idades[“Pedro”]=55

{‘alcides’: 39, ‘lukas’: 18, ‘bruna’: 24, ‘leonardo’: 25, ‘Pedro’: 55}

Vejamos algumas funções de manipulação de dicionários:

len(nome_idades) #retorna a quantidade de elementos do dicionário

nome_idades.keys() #retorna as chaves

dict_keys([‘alcides’, ‘lukas’, ‘bruna’, ‘leonardo’, ‘pedro’])

nome_idades.values() #retorna os valores somente

dict_values([39, 18, 24, 25, 55])

Os dicionários são mutáveis, assim como as listas, ou seja, podemos alterar o


valor de uma chave. Consulte os materiais complementares para ver mais funções
de dicionários.

Tuplas
Tuplas são semelhantes as listas, contudo, são imutáveis, o que significa que não
podem ser alteradas após serem criadas.

As tuplas são criadas com parênteses ( ). Essa estrutura não é muito utilizada,
iremos usar somente quando queremos ter certeza de que os dados que criamos
não serão alterados, mantendo assim a integridade.

Vejamos como criar e manipular tuplas:


animais=(“leão”, “girafa”, “gato”)

animais

21
21
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

(‘leão’, ‘girafa’, ‘gato’)

animais[0] #podemos acessar cada elemento pelo seu índice igual lista

‘leão’

animais[0]=”macaco” #isso não é permitido, tuplas são imutáveis

TypeError: ‘tuple’ object does not support item assignment

Agora que acabamos de estudar os tipos de dados, variáveis e as estrutura de


dados do Python, vamos dar início ao estudo dos controles de fluxo do código.

Comando condicional
Agora que já estudamos os conceitos iniciais da linguagem, podemos avançar
para aprender como inserir desvios em nossos códigos. Um desvio é basicamente
falar para o computador qual ação tomar a partir de uma dada condição.

Em nosso dia a dia, estamos acostumados a tomar decisões, como, por exem-
plo: ao acordar, posso pensar que “se estiver chovendo então terei que levar o
guarda-chuva, senão, deixo ele em casa”. Perceba que podemos desempenhar uma
ação ou outra conforme a condição “estar chovendo” seja verdadeira ou falsa.

Na programação também temos esse desvio que pode ser feito com a estrutura
if, veja a sintaxe básica abaixo:

if (condição):

#instruções para o bloco verdade

else:

#instruções para o bloco falso

Existem casos em que precisamos testar mais de uma condição, se isso ocorrer
em seus códigos, use a instrução elif, isso elimina o uso excessivo de “else if”. Veja
a sintaxe:

if (condição 1):

#instruções para o bloco condição 1

elif (condição 2:

#instruções para o bloco condição 2

else:

#instruções para o bloco final caso os anteriores não sejam executados

Antes de avançarmos, note que no final das linhas do if, elif e else é obrigatório
inserir :, fique atento.

22
Você pode usar diversos elif em seu código, tudo vai depender da quantidade de
condições que precisa testar, importante ressaltar que o elif e o else sempre devem
vir após o if, nunca antes.

Veja alguns exemplos com essas estruturas condicionais:

Exemplo 1: Precisamos ler um valor numérico pelo teclado e depois verificar se


esse valor lido é maior que 0 (zero).

valor = int(input(“Digite um valor: “))

if valor > 0:

print(“O número informado é maior que 0!”)

Importante! Importante!

O Python exige uma tabulação para indicar os blocos de comando que fazem parte da
estrutura, geralmente a tecla TAB já insere a tabulação necessária, mas caso queira, pode
inserir 4 espaços para ter o mesmo efeito. Veja que é obrigatório ter a tabulação à direita
para indicar os comandos que fazem parte do IF.

Se inserirmos um valor menor que 0 no exemplo anterior, nosso código não


fará nada, isso porque precisamos completar a estrutura com a condicional falsa,
ou seja, inserir a instrução else.

if valor > 0:

print(“O número informado é maior que 0!”)

else:

print(“O número é menor ou igual a 0.”)

Exemplo 2: Precisamos ler 3 notas de um aluno para calcular sua média, em se-
guida, devemos imprimir a média calculada e um conceito que pode ser Aprovado
(média maior ou igual a 6); Reprovado (média inferior a 3) e Exame (média maior
ou igual a 3 e menor que 6).

nota1 = int(input(“Digite o valor da nota1: “))

nota2 = int(input(“Digite o valor da nota2: “))

nota3 = int(input(“Digite o valor da nota3: “))

media = (nota1+nota2+nota3)/3

if media >= 6:

print(“Média: “ + str(media) + “ (Aprovado)”)

elif media < 3:

23
23
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

print(“Média: “ , media , “, conceito: REPROVADO”)

else:

print(“Média: “ , media , “, conceito: EXAME”)

Fique atento, no primeiro print, inserimos a função str, pois usamos o operador
“+”para juntar texto com o valor da média. Já nos demais, como usamos “,” não é
necessário colocar a função de conversão str. Escolha a forma de trabalhar que se
sentir mais confortável.

Comandos de repetição
Outra estrutura muito utilizada em programação é a estrutura de repetição, a
linguagem Python tem somente duas, o comando for e o comando while. Iremos
estudar nas próximas seções.

Estrutura for
A estrutura for é uma das mais utilizadas em programação, essa é uma estrutura
de iteração, ou seja, podemos repetir um bloco de código por um número determi-
nado de vezes.

A sintaxe básica é:

for item in conjunto_de_itens:

//instruções que serão repetidas a cada ciclo

Você verá que utilizaremos esta estrutura muitas vezes quando entrarmos no tó-
pico de análise de dados. O uso é comum para percorrermos listas, strings, tuplas,
dicionários e arquivos diversos.

Vejamos alguns exemplos:

Exemplo 1: Vamos criar um código que imprima os números de 0 a 10 na tela,


para isso, utilizaremos a estrutura for com a função range (start, stop), esta função
gera um intervalo de números como veremos na execução do código. Vale destacar
que o valor final não entra na iteração.

for i in range(0,11):

print(i)

Note que devemos estipular o valor final igual a 11 para que possamos imprimir
até o 10, visto que o valor final é exclusivo.

Exemplo 2
Em exemplos anteriores, fizemos uma lista de frutas, neste exemplo iremos
imprimir cada elemento da lista em uma linha com a string “Nome da fruta: “. Para
isso, devemos usar uma repetição, note que a variável de iteração será no singular

24
para ficar mais obvio que estamos manipulando um elemento somente dentro do
conjunto de elementos que é a lista de frutas. Vamos ainda deixar a primeira letra
de cada fruta em maiúscula.

frutas = [“morango”, “uva”, “pera”, “maçã”, “melancia”, “banana”, “damasco”,


“kiwi”, “manga”, “abacaxi”]

for fruta in frutas:

print(“Nome da fruta: “, fruta.capitalize())

Exemplo 3
Precisamos de um programa que mostre na tela os números pares de 0 a 999,
deve ser utilizada a estrutura for e a estrutura if para resolver essa questão.

for i in range(0,1000):

if i % 2 == 0:

print(i)

Exemplo 4
Um script deve ser capaz de ler um texto digitado pelo usuário e em seguida
imprimir na tela todas as letras separadas por um traço “-“.

texto = input(“Digite um texto ou frase: “)

saida=””

for letra in texto:

saida += letra+”-”

print(saida)

Exemplo 5
Temos um conjunto de dados representado em um dicionário contendo o nome,
idade e salário de n funcionários de uma empresa. Precisamos imprimir um relató-
rio na tela com todos esses dados.

dados={“func1”:{“nome”:”Fulano1”,”idade”:24,”salario”:1000.00},

“func2”:{“nome”:”Fulano2”,”idade”:25,”salario”:2000.00},

“func3”:{“nome”:”Fulano3”,”idade”:45,”salario”:3000},

“func4”:{“nome”:”Fulano4”,”idade”:55,”salario”:3456},

“func5”:{“nome”:”Fulano5”,”idade”:66,”salario”:34687},

“func6”:{“nome”:”Fulano6”,”idade”:77,”salario”:34123},

“func7”:{“nome”:”Fulano7”,”idade”:84,”salario”:1123},

25
25
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

“func8”:{“nome”:”Fulano8”,”idade”:34,”salario”:5761},

“func9”:{“nome”:”Fulano9”,”idade”:36,”salario”:5672},

“func10”:{“nome”:”Fulano10”,”idade”:18,”salario”:32412}}

for funcionario in dados:

print(“Nome...: “, dados[funcionario][“nome”] )

print(“Idade..: “, dados[funcionario][“idade”] )

print(“Salário: “, dados[funcionario][“salario”])

print(“-”*30)

Neste último exemplo, podemos ter outras formas mais diretas de resolver, con-
tudo, o foco deste material é entender os conceitos básicos do Python, logo, a
solução proposta atinge esses objetivos.

Estrutura while
Além do comando for, temos o segundo comando de iteração do Python
que é a estrutura while, esta estrutura faz a repetição de instruções até que
uma dada condição se torne falsa, ou seja, a repetição é executada enquanto a
condição for verdadeira.

Sintaxe do comando:

while (expressão):

//instruções para repetir

Nossa única observação em relação a essa estrutura é que geralmente devemos


inicializar a variável da condição antes da estrutura e incrementar ou decrementar a
mesma dentro da estrutura para que a condição se torne falsa em algum momento.
Isso ficará claro nos exemplos a seguir.

Exemplo 1
Vamos imprimir na tela os valores de 1 a 10 e para cada valor devemos calcular
a expressão x3 , sendo que x será o valor de cada iteração.

i=1

while i<=10:

print(i, “ - “,(i**3))

i+=1

Exemplo 2
Vamos criar um script para ler n valores inteiros; quando o usuário digitar 0,
devemos parar a leitura e mostrar a somatória dos valores lidos. Iremos utilizar

26
um laço infinito e quando o usuário digitar 0, chamaremos o comando break para
encerrar o laço.

soma = 0

while True:

valor = int(input(“Digite o número: ”))

if valor != 0:

soma += valor

else:

break

print(soma)

Funções
As funções também são chamadas de sub-rotinas, ou seja, pequenos trechos de
códigos que podem ser “chamados” ou executados sempre que necessário. Uma
função é executada através do nome que criamos para ela. Criar funções é uma
forma de otimizar nosso algoritmo e logicamente de reutilizar nosso código.
Podemos chamar as funções em qualquer ponto do nosso código. No momento
da chamada, a função é executada e ao ser finalizada, o controle volta para a linha
imediatamente abaixo da chamada. É possível chamar quantas vezes forem neces-
sárias as funções.
A utilização de funções torna nosso algoritmo mais fácil de alterar, e permite
dividir a nossa lógica em códigos bem específicos ou genéricos que possam ser
utilizados várias vezes.
As funções podem ter retorno (usamos a palavra reservada return) ou não, tudo
vai depender do que você deseja fazer ao criar e executar a função. Caso tenha
retorno, geralmente o guardamos dentro de uma variável na chamada da função,
fique tranquilo que veremos como fazer isso nos exemplos a seguir.
A sintaxe de uma função em Python é:

def nome_da_função(arg1, arg2, ...):

#instruções da função

return <<valor>> #isso é opcional, depende do seu objetivo

Uma função pode ou não ter argumentos, esses valores são passados na chama-
da da função para que ela os utilize em sua lógica.
Vejamos alguns exemplos de função em Python:

Exemplo 1
Faça um script que chame uma função 5 vezes para ler o nome de uma fruta
digitada pelo usuário e na sequência imprima esse nome em letras maiúsculas.

27
27
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

def lerFrutas():

fruta = input(“Digite o nome da fruta: “)

print(fruta.upper())

for i in range(1,6):

lerFrutas()

Exemplo 2
Faça uma função que receba dois valores inteiros como parâmetros, calcule e
retorne a soma desses valores. A leitura dos valores deve ser feita fora da função,
o usuário deve digitar esses dois valores solicitados. O cálculo será feito dentro da
função e a leitura/exibição deve ser feita no bloco principal do nosso script.

def soma(a,b):

return a+b

valor1 = int(input(“Digite o valor 1: “))

valor2 = int(input(“Digite o valor 2: “))

resultado = soma(valor1, valor2)

print(resultado)

#ou

print(soma(valor1, valor2))

Exemplo 3
Faça uma função que receba um número inteiro como parâmetro, essa função
deverá calcular a soma dos números inteiros entre o número 1 até o número infor-
mado no parâmetro. Após calcular a soma, a função deve imprimir na tela. Chame
a função 3 vezes com valores distintos.

def calcula(num):

soma=0

for i in range(1,num+1):

soma += i

return soma

calcula(3) #resposta 6

calcula(5) #resposta 15

calcula(10) #resposta 55

28
Expressões lambda
A expressão lambda, também conhecida como função on-line, é um recurso que
nos permite criar funções anônimas (sem nome) e sem a palavra def. Os valores
retornados pela expressão lambda são iguais aos valores retornados por uma função
criada com a palavra def que possua o return, ou seja, até aqui não possuem
diferenças. Você se questiona agora, então não existe diferença? Em execução não,
somente na forma de escrever.

Esse formato de criação de funções é basicamente para códigos bem especiali-


zados e simples, a expressão lambda não possui um corpo de instruções como a
função tradicional. Seu uso fica mais interessante quando usada com funções como
map() e filter() que veremos mais para frente.

Vamos ver a sintaxe dessa expressão:

lambda argumento_1, argumento_n : expressão

Exemplo 1
Criamos na seção anterior uma função soma(a,b) que somava dois valores e
retornava essa soma para o ponto de chamada. Agora, faremos a mesma coisa
usando a expressão lambda.

#função criada normalmente em Python

def func_soma(a,b):

return a+b

print(func_soma (10,10)) # resposta 20

#mesma lógica, porém com lambda

soma = lambda a,b : a + b

print(soma(10,10)) # resposta 20

Veja que com uma única linha resolvemos o mesmo problema. Embora seja
interessante, essa expressão não substitui o uso das funções criadas com def, fique
atento! Seu uso é para casos específicos.

List comprehension
Estamos quase finalizando, veremos agora a instrução chamada list
comprehension. Essa expressão nos permite criar de maneira simples e concisa
sequências ou conjuntos de dados no formato de listas.

Você perceberá que é praticamente uma linha com a estrutura for construída
como uma lista, ou seja, com o uso de [].

29
29
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

A sintaxe básica é:

[expressão for item in lista]

Veremos um exemplo.

Exemplo 1: Vamos criar uma lista com 10 elementos, faremos com o modelo
tradicional e na sequência com a list comprehension para que você perceba seu
uso e relação.

#modelo tradicional para criar uma lista com 10 elementos

list1 = []

for i in range(10):

list1.append(i)

print(list1)

#com a list comprehension ficaria assim:

list2 = [i for i in range(10)]

print(list2)

Percebeu o ganho que temos? Vale destacar que aqui mostramos a sintaxe bási-
ca, mas podemos usar inclusive dentro do for a estrutura if, por exemplo.
Explor

Veja mais sobre list comprehension, disponível em: http://bit.ly/2Aqe5iM

Chegamos ao final de nossa primeira unidade, estudamos todos os conceitos


básicos do Python e alguns recursos avançados. Procure refazer os exemplos do
material em seu computador para praticar. Todos esses conceitos serão utilizados
nas próximas unidades, o intuito é avançar até chegarmos no tópico de análise de
um conjunto de dados, gerando inclusive alguns gráficos. Até a próxima unidade.

30
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:

Vídeos
A quem se destina este curso
Curso de Python básico (IME/USP).
https://youtu.be/WT_zCgSHSTQ

Leitura
An Informal Introduction to Python¶
Documentação Python 3: Números, Strings e Listas.
http://bit.ly/2Qg12LC
More Control Flow Tools
Documentação Python 3: Ferramentas de controle de fluxo.
http://bit.ly/2AjEpeD
Data Structures
Documentação Python 3: Estruturas de dados.
http://bit.ly/2ApapxW

31
31
UNIDADE Conceitos Gerais, IDEs e Introdução à Linguagem Python

Referências
BECKER, J. L. Estatística básica: transformando dados em informação. Porto
Alegre: Bookman, 2015.

CASTRO, L. N. de. Introdução à mineração de dados: conceitos básicos, algo-


ritmos e aplicações. São Paulo: Saraiva, 2016.

PERKOVIC, L.; VIEIRA, D. Introdução à computação usando Python: um foco


no desenvolvimento de aplicações. Rio de Janeiro: LTC, 2016.

32

Você também pode gostar