Buscar

Linguagem_Prog_Aplicada-01

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagem de 
Programação Aplicada
Material Teórico
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.
• 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.
OBJETIVOS DE APRENDIZADO
Conceitos Gerais, IDEs e 
Introdução à Linguagem Python
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: 
Assim:
Organize seus estudos de maneira que passem a fazer parte 
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.
Organize seus estudos de maneira que passem a fazer parte 
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Mantenha o foco! 
Evite se distrair com 
as redes sociais.
Determine um 
horário fixo 
para estudar.
Aproveite as 
indicações 
de Material 
Complementar.
Procure se alimentar e se hidratar quando for estudar; lembre-se de que uma 
Não se esqueça 
de se alimentar 
e de se manter 
hidratado.
Aproveite as 
Conserve seu 
material e local de 
estudos sempre 
organizados.
Procure manter 
contato com seus 
colegas e tutores 
para trocar ideias! 
Isso amplia a 
aprendizagem.
Seja original! 
Nunca plagie 
trabalhos.
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!
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). 
Você Sabia?
Assista ao vídeo sobre a história do Python narrada pelo seu criador Guido van Rossum, 
disponível em: https://youtu.be/J0Aq44Pze-w Ex
pl
or
8
9
Acesse o site do Python para consultar sua documentação, fazer o download e aprender mais 
sobre a linguagem, disponível em: http://bit.ly/2Apd22MEx
pl
or
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
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
11
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 umteste 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
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
13
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 
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
Ex
pl
or
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
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
15
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 Signifi cado 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 Signifi cado
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
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 Pythone 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
17
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
O
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
19
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
1
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
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
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
21
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
5
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
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, tuplassã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
23
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!
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.
Importante!
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
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
25
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
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 mostrara somatória dos valores lidos. Iremos utilizar 
26
27
um laço infinito e quando o usuário digitar 0, chamaremos o comando break para 
encerrar o laço.
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
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
29
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
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.
Veja mais sobre list comprehension, disponível em: http://bit.ly/2Aqe5iM
Ex
pl
or
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
31
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
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

Outros materiais