0% acharam este documento útil (0 voto)
8 visualizações87 páginas

A9 Python

O documento é um material de apoio sobre a introdução à linguagem de programação Python, abordando conceitos fundamentais como criação de scripts, estruturas condicionais e de repetição, principais objetos e funções. O autor, Prof. Gilberto Rodrigues Liska, fornece orientações sobre instalação do Python e do ambiente Spyder, além de dicas para a criação e execução de scripts. O conteúdo é voltado para iniciantes na programação, destacando a legibilidade do código e a importância do esforço do programador.

Enviado por

viniciusgcc
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
8 visualizações87 páginas

A9 Python

O documento é um material de apoio sobre a introdução à linguagem de programação Python, abordando conceitos fundamentais como criação de scripts, estruturas condicionais e de repetição, principais objetos e funções. O autor, Prof. Gilberto Rodrigues Liska, fornece orientações sobre instalação do Python e do ambiente Spyder, além de dicas para a criação e execução de scripts. O conteúdo é voltado para iniciantes na programação, destacando a legibilidade do código e a importância do esforço do programador.

Enviado por

viniciusgcc
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 87

1001793 - Fundamentos e

Programação de Computadores
Introdução à linguagem de
programação Python

Prof. Gilberto Rodrigues Liska

UFSCar

Material de Apoio
e-mail: [email protected]
Sala do professor: DTAiSeR

Gilberto R. Liska ( UFSCar ) Notas de Aula 1 / 87


Introdução

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos

8 Funções no Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 2 / 87


Introdução

Introdução

• Existem várias linguagens de programação.


• Em evolução às linguagens primordiais,
como a Fortran e Pascal, foram sendo
desenvolvidas linguagens mais eficientes
computacionalmente.
• Entre elas a C, C++, R, Python, Julia,
JavaScript, LATEX, HTML, etc.
• Nessa aula será apresentada a linguagem
Python e algumas aplicações básicas em
programação.
Fonte: https:
//pixabay.com/images/id-2062051/

Gilberto R. Liska ( UFSCar ) Notas de Aula 3 / 87


Linguagem Python

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos

8 Funções no Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 4 / 87


Linguagem Python

O programa Python
• Python é uma linguagem de programação de alto nı́vel,
interpretada, de script, orientada a objetos, funcional
e forte. Permite integração com outras plataformas de
forma mais flexı́vel.
• Foi lançada por Guido van Rossum em 1990, Holanda,
como um sucessor da linguagem chamada ABC. Atu-
almente possui um modelo de desenvolvimento comu-
nitário, aberto e gerenciado pela organização sem fins
lucrativos Python Software Foundation, PSF.
Fonte: https:
• A linguagem foi projetada com a filosofia de enfatizar a //www.python.org/

importância do esforço do programador sobre o esforço


computacional. Prioriza a legibilidade do código sobre
a velocidade ou expressividade. Combina uma sintaxe
concisa e clara com os recursos poderosos de sua biblio-
teca padrão e por módulos e frameworks desenvolvidos
por terceiros.
Gilberto R. Liska ( UFSCar ) Notas de Aula 5 / 87
Linguagem Python

O programa Python

Figura 2: Linguagem mais utilizada em


Figura 1: Linguagem mais utilizada em 2022. 51 linguagens e 87.585 respondentes.
2018. 25 linguagens e 78.334 respondentes. Disponı́vel em https:
//insights.stackoverflow.com/survey

Gilberto R. Liska ( UFSCar ) Notas de Aula


. 6 / 87
Linguagem Python

Algumas empresas/organizações que patrocinam


e fazem uso do Python

Fonte: https://techvidvan.com/tutorials/python-tutorial/

Gilberto R. Liska ( UFSCar ) Notas de Aula 7 / 87


Linguagem Python

Tela inicial do programa Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 8 / 87


Linguagem Python

Instalando o Python

Instalando o Python
1 Entrar no site https://www.python.org/

2 Clicar no menu Download e escolher a opção


de acordo com seu sistema operacional.
3 Se o seu sistema operacional for Windows,
clicar em Latest Python 3 Release - Python
3.11.4, a versão mais atual (até a data dessa
aula), do Python.
Fonte:
https://www.python.org/

Gilberto R. Liska ( UFSCar ) Notas de Aula 9 / 87


Linguagem Python

O programa Spyder

• Similar ao programa R genuı́no, o Python tem


uma interface não muito amigável. Para con-
tornar isso, utilizaremos o Spyder.
• O Spyder é um poderoso ambiente cientı́fico
escrito em Python, para Python, e projetado
por e para cientistas, engenheiros e analis- Fonte: https:
tas de dados. Ele oferece uma combinação //docs.spyder-ide.org/

exclusiva das funcionalidades avançadas de


edição, análise, depuração e criação de perfil
de uma ferramenta abrangente de desenvolvi-
mento com a exploração de dados, execução
interativa, inspeção profunda e belos recursos
de visualização de um pacote cientı́fico.

Gilberto R. Liska ( UFSCar ) Notas de Aula 10 / 87


Linguagem Python

Tela inicial do programa Spyder

Gilberto R. Liska ( UFSCar ) Notas de Aula 11 / 87


Linguagem Python

Tela inicial do programa Spyder


Pela figura anterior, podemos identificar os seguintes painéis:
1 Editor de código: No editor de código, você poderá escrever e editar os
scripts. Script nada mais é do que uma sequência de comandos/ordens
que serão executados em sequência pelo Python.
2 Environment, History, Files, Plots: No Environment ficarão guarda-
dos todos os objetos e gráficos que forem criados na sessão do Python.
3 Console: É no console que o Python mostrará a maioria dos resultados
dos comandos.

Observações:
• O painel 2 é exclusivo do Spyder e os painéis 1 e 3 estão integrados
em um mesmo ambiente. Essas são vantagens em relação ao Python
genuı́no.
• O Spyder oferece um layout semelhante ao RStudio. Caso deseje esse
layout, vá no menu Ver ⇒ Layouts da janela ⇒ Rstudio layout.
Gilberto R. Liska ( UFSCar ) Notas de Aula 12 / 87
Linguagem Python

Instalando o Spyder

Instalando o Spyder
1 Entre no site do Spyder: https://www.
spyder-ide.org/
2 No menu superior, clique em Download ⇒
Download for Windows
3 Caso deseje fazer o download para outro sis- Fonte:
http://www.python.org
tema operacional, clique em installation ins-
tructions.

Gilberto R. Liska ( UFSCar ) Notas de Aula 13 / 87


Linguagem Python

Como citar o Python


Ao utilizar a linguagem Python é importante mencio-
nar nas referências bibliográficas (não necessariamente
as três).
• Python Software Foundation. Python Language Re-
ference, version 2.7. Available at http://www. Fonte:
python.org http://www.python.org

• G. van Rossum, Python tutorial, Technical Re-


port CS-R9526, Centrum voor Wiskunde en In-
Fonte: https:
formatica (CWI), Amsterdam, May 1995. Avai- //www.spyder-ide.org/

able at http://msekce.karlin.mff.cuni.cz/
˜halas/IT/tutorial.pdf
• Naik, Poornima & Oza, Kavita. Python with
Spyder: An Experiential Learning Perspective.
Shashwat Publication, 2019, 228p.
Gilberto R. Liska ( UFSCar ) Notas de Aula 14 / 87
Linguagem Python

Bibliografia sobre Python


• David Beazley e Brian K. Jones (2013). Python Cook-
book (em inglês) 3 ed. Sebastopol (Califórnia): O’Reilly.
706 páginas. ISBN 978-1-4493-4037-7
• Lutz, Mark (2013). Learning Python (em inglês) 5 ed.
Sebastopol (Califórnia): O’Reilly. 1600 páginas. ISBN
978-1-4493-5573-9
• Allen B. Downey. Pense em Python: Pense Como um
Fonte: https://pixabay.com/
Cientista da Computação (Português). 312 páginas. images/id-2022464/
Novatec Editora (7 de junho de 2016). 2016.
Versão eletrônica disponı́vel em https://penseallen.
github.io/PensePython2e/

• Grus, Joel. Data Science do Zero: Primeiras regras com


o Python. Alta Books, 2016, 442p.
• Ohri, Ajay, Python® for R users: a data science appro-
ach. John Wiley & Sons, 2018, 358p.
Gilberto R. Liska ( UFSCar ) Notas de Aula 15 / 87
Criando Scripts

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos

8 Funções no Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 16 / 87


Criando Scripts

Criando um script
Criando um script
• Similar à linguagem R, é possı́vel digitar códigos direta-
mente no IDLE (Integrated Development and Learning En-
vironment) do Python, que é equivalente a digitarmos tudo
diretamente na tela 3 do Spyder (prompt de comando).
• O IDLE do Python é interessante quando estamos progra-
mando, mas imagina ter que digitar novamente todos os
Fonte:
códigos para poder executá-lo? https://pixabay.
com/images/
• Chega um momento que usar apenas o prompt se tornará id-1300226/

inviável, uma vez que podemos nos perder facilmente sobre


algum código que foi/não foi digitado.
• Por isso, para resolver este problema podemos criar scripts
especı́ficos. Ou seja, vamos trabalhar com a tela 1 no
Spyder.

Gilberto R. Liska ( UFSCar ) Notas de Aula 17 / 87


Criando Scripts

Criando um script

Criando um script
• SUGESTÃO: Crie uma pasta es-
pecı́fica em seu computador para
guardar os scripts de Python. Su-
gestão de nome: rotinas-Python-
aluno
• IMPORTANTE: para nomes de ar-
quivos, evite caracteres especiais e
nomes com acentos.
• Vá em Arquivo ⇒ Novo arquivo.
• Será aberta uma nova tela, onde Figura 3: Criando um script no
Python.
você poderá escrever os novos co-
mandos.

Gilberto R. Liska ( UFSCar ) Notas de Aula 18 / 87


Criando Scripts

Criando um script

Criando um script
• Digite os seguintes comandos na tela
1. Neste caso, estamos trabalhando no
modo script do Python.
nome=input("Qual é o seu nome?")
idade=input("Qual é a sua idade?")
peso=input("Qual é o seu peso?")
#imprime o resultado
print(nome, idade, peso)
• SUGESTÃO: Vamos salvar este ar-
quivo na pasta que criamos “rotinas-
Python-aluno” com o nome sript-aula1 Figura 4: Script do exemplo 1.
(Figura 4).
• O script criado é salvo com a extensão
“script-aula1.py”.

Gilberto R. Liska ( UFSCar ) Notas de Aula 19 / 87


Criando Scripts

Criando um script
• Para executar o programa a par-
tir da tela 1, clique F5 ou no
menu executar (parte superior
do programa). O cursor pode es-
tar em qualquer linha. Se quiser-
mos executar uma linha em par-
ticular, posicione o cursor nela e
clique F9.
• Veja que o programa executado a
partir da tela 1 é projetado para
a tela 3 e é impresso na tela o Figura 5: Execução do script do exemplo
resultado da linha de comando. 1.
• Salve o programa (menu Arquivo
Como é uma pergunta, clique na
⇒ Salvar). Uma vez salvo, o ar-
tela 3 e responda (digite) as per-
quivo pode ser levado pra casa,
guntas (Figura 5).
ser compartilhado e/ou editado.
Gilberto R. Liska ( UFSCar ) Notas de Aula 20 / 87
Criando Scripts

Criando um script
Criando um script
• Feche o programa. Abra o arquivo salvo
em Arquivo ⇒ Abrir ⇒ procure o script
no computador.
• Irá abrir a tela inicial. Execute no-
vamente o arquivo salvo apertando o
botão F5 ou menu.
• Podemos executar o mesmo script (pro-
grama) várias vezes.
• OBS.: Na linha 4 do script, usamos o
Figura 6: Abrindo um script no
#. Veja que tudo que estiver na frente Python.
de # fica cinza, porque o Python inter-
preta isso como texto, e não como linha
de comando. Isso é muito útil para fa-
zer comentários no script.
Gilberto R. Liska ( UFSCar ) Notas de Aula 21 / 87
Criando Scripts

Criando um script
Observações
• Veja que ao executar o programa anterior apareceu
algo na tela 2.
• No caso, diz que na memória do Python tem três
objetos do tipo string e mostra quais são eles.
• Isso é importante para sabermos o que tem arma-
zenado na memória e evitar possı́veis problemas/re-
dundâncias em programação.
• Quando um programa é executado, tudo o que esti-
ver no script será executado. Então se houver vários Fonte: https:
//pixabay.com/
programas dentro de um mesmo script, estes serão images/id-294525/

executados.
• DICA: Salve em scripts separados programas inde-
pendentes.
Gilberto R. Liska ( UFSCar ) Notas de Aula 22 / 87
Criando Scripts

Módulo da Divisão

• O Módulo da Divisão é o operador que ex-


trai o resto da divisão. A linguaguem em
Python, bem como a maioria das linguagens
de programação, disponibiliza um operador
para este fim.
• Matematicamente, o módulo da divisão é for-
malizado por

y = w mod x , (1)
Fonte: https://pixabay.com/
que significa que y é o módulo (resto) da di- images/id-1300226/
visão de x por w .
• Em Python, essa operação é feita pelo sinal
de porcentagem %.

Gilberto R. Liska ( UFSCar ) Notas de Aula 23 / 87


Criando Scripts

Módulo da Divisão
Crie um script (tela 1) no Python.
Uma das utilidades do operador
Essa operação é feita da seguinte
módulo é a possibilidade de identi-
forma. Copie, cole e execute os
ficar números pares e ı́mpares.
códigos abaixo no seu script.

Exemplo 1 Exemplo 1 (a) no Python


Vamos resolver a seguinte #### forma 1
num1=10
operação envolvendo módulo da num2=3
divisão: divisao=num1/num2
resto=num1%num2
print(divisao)
3 mod 10 print(resto)
SOLUÇÃO:
OBS.: O comando print faz com que os ob-
Não é difı́cil de perceber que ao
jetos divisao e resto sejam impressos na tela
dividir 10 por 3, teremos como re-
3 (IDLE). Se não usar esse comando, o pro-
sultado o número 1.
grama fará o cálculo mas não mostrará o re-
sultado.
Gilberto R. Liska ( UFSCar ) Notas de Aula 24 / 87
Criando Scripts

Módulo da Divisão
• Existem várias formas de fazer o procedimento anterior no Python, mas
todas utilizando o %.
• A ideia de apresentar essa outra possibilidade é, no momento, de apenas
mostrar a flexibilidade que o Python apresenta para programação.
Exemplo 1 (b) no Python
#### forma 2
num1=float(input("Digite um número: "))
num2=float(input("Digite outro número: "))

divisao=num1 / num2
resto= num1 % num2

print("O número {} dividido por {} é igual a {:.2f}"


. format(num1,num2,divisao))

print("O resto da divisão entre {} e {} é igual a {}"


. format(num1,num2,resto))

Gilberto R. Liska ( UFSCar ) Notas de Aula 25 / 87


Criando Scripts

Observações
• Qual a diferença entre os procedimentos feitos no Exemplo
1 (a) e (b)?
• No Exemplo 1 (a), toda vez que quisermos utilizar o
módulo da divisão, temos que eleger os objetos num1 e
num2 e executar o programa.
• No Exemplo 1 (b), toda vez que o programa for exe-
cutado o prompt exibirá duas perguntas, que deverão ser
respondidas com números e na sequência é mostrada na
tela o resultado.
• IMPORTANTE: A principal vantagem do que foi feito no Fonte:
https://pixabay.
exemplo 1 (b) é tornar a usabilidade do programa Python com/images/
id-1184858/
mais dinâmica.
• Uma outra de fazer o exemplo 1 é por meio da construção
de funções. Veremos isso mais adiante.

Gilberto R. Liska ( UFSCar ) Notas de Aula 26 / 87


Estrutura Condicional

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos

8 Funções no Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 27 / 87


Estrutura Condicional

Estruturas de programação
• Uma estrutura de programação verifica a condição de argumentos pas-
sados e executa um comando caso a condição seja verdadeira.
• Antes de entrarmos na análise da estrutura em Python vamos conhe-
cer alguns Operadores Condicionais. Eles são utilizados para fazer as
comparações dos valores que são passados e retornam o valor Verda-
deiro ou Falso.
Tabela 1: Operadores

Operador Tipo Valor


== Igualdade Verifica a igualdade entre dois valores
!= Diferença Verifica a diferença entre dois valores
> Comparação Verifica se o valor A é maior que o valor B
< Comparação Verifica se o valor A é menor que o valor B
<= Comparação Verifica se o valor A é menor ou igual ao valor B
>= Comparação Verifica se o valor A é maior ou igual ao valor B
and, or E, OU Verifica se duas ou mais sentenças atentem a algum critério

Gilberto R. Liska ( UFSCar ) Notas de Aula 28 / 87


Estrutura Condicional

Estruturas Condicionais
IF
Exemplo 3 no Python
• A sintaxe do IF em Python é
num=int(input("Digite um número: "))
a seguinte:
if num<10:
print("Menor que 10")
se (condição)
< bloco de código > Importante:
fim
Em Python, ao final de cada condição,
Exemplo 3 ultilizamos “:”.
Construa um programa que identi-
fique números menores do que 10
e imprima na tela o resultado.
Inı́cio: num
se (num < 10 )
imprime ”Menor que 10”
fim
Gilberto R. Liska ( UFSCar ) Notas de Aula 29 / 87
Estrutura Condicional

Estruturas Condicionais
IF - ELSE
• Quando a condição não é atendida com o co-
mando if, é necessário utilizarmos o comando
else;
• Neste caso, estamos trabalhando com uma es-
trutura condicional composta que executa um
comando quando a condição for verdadeira e Fonte: https://pixabay.com/
outra condição quando for falsa. images/id-3173613/

• A sintaxe do IF - ELSE em Python é a se-


guinte:
se (Condição)
< bloco de código >
senão
< bloco de código >
fim se
Gilberto R. Liska ( UFSCar ) Notas de Aula 30 / 87
Estrutura Condicional

Estruturas Condicionais

Exemplo 4 no Python
Exemplo 4
num=int(input("Digite um número: "))
Digite um número e identifique
se ele é menor do que 10 ou no if num < 10:
print("Menor que 10")
mı́nimo 10. else:
print("No mı́nimo 10")
Inı́cio: num
se (num < 10)
imprime ”Menor que 10”
se não
imprime ”No mı́nimo 10”
fim

Gilberto R. Liska ( UFSCar ) Notas de Aula 31 / 87


Estrutura Condicional

Estruturas Condicionais
Exemplo 5 (a) no Python
Exemplo 5
n1=float(input("Digite a nota 1: "))
Criar uma rotina que calcule a média n2=float(input("Digite a nota 2: "))
entre duas notas, ou seja, n=(n1+n2)/2
n1 + n2 print(n)
n=
2 if n>= 6:
Se a média for maior ou igual a 6, print("Parabéns")
exiba a mensagem “Parabéns”. Se else:
print("Estude Mais")
a média for menor que 6, exiba a
mensagem “Estude Mais”.
Exemplo 5 (b) no Python
Inı́cio: n1 , n2 , n = n1 +n
2
2
n1=float(input("Digite a nota 1: "))
n2=float(input("Digite a nota 2: "))
se (n >= 6) n=(n1+n2)/2
print("A sua média foi {:.2f}". format(n))
imprime ”Parabéns” print("Parabéns" if n>=6 else "Estude Mais")
se não
imprime ”Estude Mais”
fim
Gilberto R. Liska ( UFSCar ) Notas de Aula 32 / 87
Estrutura Condicional

Estruturas Condicionais

IF - ELSE IF - ELSE A sintaxe do IF - ELSE IF - ELSE


• Se existir mais de uma é a seguinte
condição alternativa que pre-
cisa ser verificada, devemos Inı́cio
utilizar o elif para avaliar as se (condição)
expressões intermediárias an- < bloco de código >
tes de usar o else; senão se (condição)
• Neste caso, estamos traba- < bloco de código >
lhando com estruturas con- senão
dicionais aninhadas, que são < bloco de código >
várias condições em cascatas, fim
ou seja, um if dentro de outro
if.

Gilberto R. Liska ( UFSCar ) Notas de Aula 33 / 87


Estrutura Condicional

Estruturas Condicionais

Exemplo 6
Exemplo 6 no Python
Criar uma rotina que peça para o num=int(input("Digite um número: "))
usuário digitar um número e iden- if num < 10:
print("Menor que 10")
tifique se ele é menor do que 10, elif num==10:
igual a 10 ou maior que 10. print("Igual a 10")
else:
Inı́cio: num print("maior que 10")

se ( num < 10 )
imprime ”Menor que 10”
senão se ( num = 10 )
imprime ”Igual a 10”
senão
imprime ”Maior que 10”
fim

Gilberto R. Liska ( UFSCar ) Notas de Aula 34 / 87


Estrutura de Repetição

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos

8 Funções no Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 35 / 87


Estrutura de Repetição

Estruturas de Repetição
• QUESTÃO: Como deverı́amos construir
um programa que fosse executado até
que uma determinada condição fosse sa-
tisfeita?
• RESPOSTA: Devemos usar estruturas de
repetição.

Laços de Repetição
• Laços (loops) são estruturas de repetição,
Fonte: https://pixabay.com/
geralmente usadas para processar coleções images/id-311551/

de dados, tais como linhas de um arquivo


ou registros de um banco de dados, que
precisam ser processados por um mesmo
bloco de código.
• As mais comuns são o “Para (For)” e “En-
quanto (While)”.
Gilberto R. Liska ( UFSCar ) Notas de Aula 36 / 87
Estrutura de Repetição

Estruturas de Repetição

FOR FOR
• É a estrutura de repetição • A sintaxe do FOR em Python é
mais usada no Python. A a seguinte:
instrução aceita não só
sequências estáticas, mas Para (referência) em [sequência]
também sequências geradas < bloco de código >
por iteradores; fim
• Iteradores são estruturas que
permitem iterações, ou seja,
acesso aos itens de uma
coleção de elementos, de
forma sequencial.

Gilberto R. Liska ( UFSCar ) Notas de Aula 37 / 87


Estrutura de Repetição

Estruturas de Repetição

Exemplo 7 Exemplo 7 no Python


Crie um programa que mostre em for i in range(1,6):
print(i)
tela a sequência numeral de 1 a 5
Obs:
Inı́cio: n1 = 1, n2 = 5 Veja que foram exibidos números até
Para (i) em [num1:num2] 5. O Python tem por padrão descon-
imprime (i) siderar sempre o último número.
fim

Gilberto R. Liska ( UFSCar ) Notas de Aula 38 / 87


Estrutura de Repetição

Estruturas de Repetição

• A função range(m, n, p), é muito


útil em laços, pois retorna uma lista Exemplo 8 no Python
de inteiros, começando em m e me- # ex 1
for i in range(1,5):
nores que n, em passos de com- print(i)
primento p, que podem ser usados
# ex 2
como sequência para o laço. for i in range(5):
• Copie e cole os 3 exemplos a seguir print(i)

no seu script e execute os comandos. # ex 3


• Se não informarmos o inı́cio, o for i in range(0,10,2):
print(i)
padrão do Python é começar em 0.
• Se não informarmos o comprimento
do passo, o Python faz por padrão
os incrementos unitários.

Gilberto R. Liska ( UFSCar ) Notas de Aula 39 / 87


Estrutura de Repetição

Observação
• Voltando aos comandos do exemplo
8, no terceiro código, adicionamos o
comando print de duas formas:
Situação #1: O comando print faz
parte do laço.
Situação #2: O comando print
não faz parte do laço.
• Veja a sutil diferença entre os dois
códigos na figura 7. Quando um co-
mando estiver dentro do laço, este
deve estar posicionado à direita do
for na linha subsequente. Caso o co- Figura 7: Tela de um dos comandos
mando esteja exatamente abaixo do do exemplo 10.
laço, o Python entenderá que o co-
mando está fora do laço.
Gilberto R. Liska ( UFSCar ) Notas de Aula 40 / 87
Estrutura de Repetição

Estruturas de Repetição

WHILE
• O comando while faz com que um conjunto de
instruções seja executado enquanto uma condição é
atendida. Quando o resultado dessa condição passa
a ser falso, a execução do loop é interrompida.
• A sintaxe do laço WHILE em Python é a seguinte:

Enquanto (condição)
Fonte: https://pixabay.com/
< bloco de código > images/id-2935463/

fim

Gilberto R. Liska ( UFSCar ) Notas de Aula 41 / 87


Estrutura de Repetição

Estruturas de Repetição

Exemplo 9 no Python
Exemplo 9
x=1
Crie um programa que mostre em while x < 11:
print(x)
tela a sequência numeral de 1 a 10 x=x+1
print("FIM")

Inı́cio: x = 1, y = 10
Enquanto (x < y )
imprime x
fim

Gilberto R. Liska ( UFSCar ) Notas de Aula 42 / 87


Principais objetos

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos
Vetores
Listas
Comandos úteis
Matrizes
Tabelas

7 Arquivos
Gilberto R. Liska ( UFSCar ) Notas de Aula 43 / 87
Principais objetos

Principais tipos de objetos no Python

Figura 8: Principais objetos no Python.

Gilberto R. Liska ( UFSCar ) Notas de Aula 44 / 87


Principais objetos Vetores

Vetores

• Em computação é comum manipular con-


junto de valores como notas, preços, no-
mes, etc. Para manipular um conjunto de
dados de um mesmo tipo (inteiro, real,
string) há uma estrutura de dados deno-
minada de vetor;
• Vetores são “agregados homogêneos uni-
dimensionais” que permitem agrupar um
conjunto de valores de um mesmo tipo em
uma única variável.

Gilberto R. Liska ( UFSCar ) Notas de Aula 45 / 87


Principais objetos Vetores

Vetores

Exemplo 1
• Vamos definir um vetor “nota” de tamanho
5 de tipo inteiro, nota = (60, 95, 80, 50, 98)
• OBS.: O colchetes é o operador do objeto
que está associado ao ı́ndice
Índice 0 1 2 3 4
Valor 60 95 80 50 98
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]

Exemplo 1 no Python
nota = [60,95,80,50,98]

print(nota)
print(nota[4]) #ver o quinto elemento

Gilberto R. Liska ( UFSCar ) Notas de Aula 46 / 87


Principais objetos Vetores

Vetores
• Se quisermos imprimir a nota 50 do vetor nota:

Figura 9: Telas 1 e 3 no Python do exemplo 1.

Gilberto R. Liska ( UFSCar ) Notas de Aula 47 / 87


Principais objetos Listas

Listas
• Lista é um objeto consistindo de uma
coleção ordenada de objetos conhecidos
como seus componentes;
• Permite reunir em um só objeto com-
ponentes de diversos tipos, como por
exemplo, vetor, valores lógicos, matriz,
array, etc. Em outras linguagens de
programação, listas são chamadas de ve-
tores e possuem restrições que Python não
impõe. Em Python, os valores de uma lista
podem ser de qualquer tipo, em outras lin-
guagens, os valores precisam ser do mesmo
tipo.
• No Python os elementos devem estar entre
colchetes, assim como no vetor.
Gilberto R. Liska ( UFSCar ) Notas de Aula 48 / 87
Principais objetos Listas

Listas

Exemplo 2 Exemplo 2 no Python


Vamos criar um objeto no ## definindo uma lista
lst=["Fred","Mary",3,[4,7,9]]
Python com as seguintes # imprimir a lista
informações: Fred e sua esposa print(lst)
Mary tem 3 crianças, com ida- # tamanho da lista
des 4, 7 e 9, respectivamente. comprimento=len(lst)
print(comprimento)
OBS.: Note que temos
informação de número, nomes
e um vetor.

Gilberto R. Liska ( UFSCar ) Notas de Aula 49 / 87


Principais objetos Listas

Observações
• Para acessar os elementos da
lista utiliza-se o operador [xx ]. Exemplo 2 no Python (cont.)
Os xx representam a posição #acessar o valor que está no ı́ndice 1
print(lst[1])
do elemento, ou elementos,
que se deseja visualizar. #acessar os valores que estão nos
#ı́ndices 1 a 3
• Veja nos exemplos ao lado a print(lst[1:4])
diferença entre eles.
#acessar o valor que está no ı́ndice 5
• IMPORTANTE: O uso des- print(lst[5])
ses operadores é bastante útil #igual ao anterior
print(lst[-1])
não somente em listas, mas
também em arrays, matrizes #acessar o penúltimo termo
print(lst[-2])
e tabelas.
• O que a última linha de co-
mando (lst[−2]) fez?

Gilberto R. Liska ( UFSCar ) Notas de Aula 50 / 87


Principais objetos Comandos úteis

Alguns comandos úteis


• Existem alguns comandos em Python (e
certamente em outras linguagens), que
permitem adiconar e/ou remover elemen-
tos de uma lista, vetor, etc.
• Ao adicionar ou remover um elemento, o
tamanho da lista também é modificado
• Podemos adicionar um elemento ou vários
elementos.
• Podemos ordenar os elementos de um ve-
tor em ordem crescente ou decrescente au-
Fonte: https:
tomaticamente. //pixabay.com/images/id-2852153/

• Essas situações são resolvidas pelos co-


mandos append, insert, del, sort e re-
verse no Python.

Gilberto R. Liska ( UFSCar ) Notas de Aula 51 / 87


Principais objetos Comandos úteis

Alguns comandos úteis

Append
• Se quisermos adicionar um elemento após o último valor do vetor nota
= (60, 95, 80, 50, 98). Veja que o elemento ocupará a posição de
ı́ndice 5.
Índice 0 1 2 3 4 5
Valor 60 95 80 50 98 20
Vetor nota[0] nota[1] nota[2] nota[3] nota[4] nota[5]
No Python:
nota = [60,95,80,50,98]

nota.append(20)
print(nota)

Gilberto R. Liska ( UFSCar ) Notas de Aula 52 / 87


Principais objetos Comandos úteis

Alguns comandos úteis


Insert
• Se quisermos adicionar um elemento após o primeiro valor do vetor
nota = (60, 95, 80, 50, 98). Veja que o elemento ocupará a posição
de ı́ndice 1.
Índice 0 1 2 3 4 5
Valor 60 20 95 80 50 98
Vetor nota[0] nota[0] nota[1] nota[2] nota[3] nota[4]
No Python:
nota = [60,95,80,50,98]
nota.insert(1,20)
print(nota)
#visualizacao na tela 3
[60, 20, 95, 80, 50, 98]

Obs.: Os comandos append e insert são antecedidos do nome do objeto


que se deseja aplicar o comando, que no nosso caso foi o objeto nota.
Gilberto R. Liska ( UFSCar ) Notas de Aula 53 / 87
Principais objetos Comandos úteis

Alguns comandos úteis


Del
• Se quisermos remover um elemento 80 do vetor nota = (60, 95, 80,
50, 98). Veja que o elemento ocupa a posição de ı́ndice 2.
Antes da remoção
Índice 0 1 2 3 4
Valor 60 95 80 50 98
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
Após a remoção
Índice 0 1 2 3
Valor 60 95 50 98
Vetor nota[0] nota[1] nota[2] nota[3]
No Python:
nota = [60,95,80,50,98]
del nota[2]
print(nota)
#visualizacao na tela 3
[60, 95, 50, 98]

Gilberto R. Liska ( UFSCar ) Notas de Aula 54 / 87


Principais objetos Comandos úteis

Alguns comandos úteis


Sort
• Se quisermos organizar o vetor nota = (60, 95, 80, 50, 98) em ordem
crescente. Original
Índice 0 1 2 3 4
Valor 60 95 80 50 98
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
Ordenado em ordem crescente
Índice 0 1 2 3 4
Valor 50 60 80 95 98
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
No Python:
nota = [60,95,80,50,98]
nota.sort()
print(nota)
#visualizacao na tela 3
[50, 60, 80, 95, 98]

Gilberto R. Liska ( UFSCar ) Notas de Aula 55 / 87


Principais objetos Comandos úteis

Alguns comandos úteis


Sort
• Se quisermos organizar o vetor nota = (60, 95, 80, 50, 98) em ordem
decrescente. Original
Índice 0 1 2 3 4
Valor 60 95 80 50 98
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
Ordenado em ordem decrescente
Índice 0 1 2 3 4
Valor 98 95 80 60 50
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
No Python:
nota = [60,95,80,50,98]
nota.sort(reverse=True)
print(nota)
#visualizacao na tela 3
[98, 95, 80, 60, 50]

Gilberto R. Liska ( UFSCar ) Notas de Aula 56 / 87


Principais objetos Comandos úteis

Alguns comandos úteis


Reverse
• Se quisermos inverter o vetor nota = (60, 95, 80, 50, 98).
Original
Índice 0 1 2 3 4
Valor 60 95 80 50 98
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
Invertido
Índice 0 1 2 3 4
Valor 98 50 80 95 60
Vetor nota[0] nota[1] nota[2] nota[3] nota[4]
No Python:
nota = [60,95,80,50,98]
nota.reverse()
print(nota)
#visualizacao na tela 3
[98, 50, 80, 95, 60]

Gilberto R. Liska ( UFSCar ) Notas de Aula 57 / 87


Principais objetos Matrizes

Matrizes

• Matrizes são equivalentes a vetores, con-


tudo permitem a utilização de diversas di-
mensões acessadas via diferentes ı́ndices.
• Pode ser pensada como um vetor onde
cada célula é outro vetor, recursivamente.
• Em diversas situações matrizes são ne-
cessárias para correlacionar informações.

Gilberto R. Liska ( UFSCar ) Notas de Aula 58 / 87


Principais objetos Matrizes

Matrizes

Exemplo 3
Assumindo que uma turma tem três alunos e fossem anotadas as notas de 5
avaliações, seria necessária uma matriz bidimensional para guardar as notas
de todos os alunos dessa turma.

Tabela 2: Dados do Exemplo.

Avaliações
Aluno
1 2 3 4 5
1 5 4,5 7 5,2 6,1
2 2,1 6,5 8 7 6,7
3 8,6 7 9,1 8,7 9,3

Gilberto R. Liska ( UFSCar ) Notas de Aula 59 / 87


Principais objetos Matrizes

Matrizes - Exemplo 3 (cont.)


• Em notação matricial, os dados do
exemplo 3 são dados por: Exemplo 3 no Python
#digitar os elementos da matriz
turma=[[5,4.5,7,5.2,6.1],
5 4, 5
7 5, 2 6, 1
 
[2.1,6.5,8,7,6.7],
 2, 1 6, 58 7 6, 7  [8.6,7,9.1,8.7,9.3]]
 
8, 6 7 9, 1 8, 7 9, 3 print(turma)
que é uma matriz de 3 linhas e 5 colu-
nas. #importar o pacote numpy
import numpy as np
• No Python não há um comando na-
print (np.matrix(turma))
tivo para criar e imprimir uma matriz
na tela. Devemos digitar linha por li- ##visualizacao na tela 3
nha da matriz e devem ser separadas [[5. 4.5 7. 5.2 6.1]
[2.1 6.5 8. 7. 6.7]
por vı́rgula. [8.6 7. 9.1 8.7 9.3]]
• Por meio do pacote numpy, é possı́vel
imprimir uma matriz na tela, mas sob a
estrutura de lista. Veja no exemplo 3.
Gilberto R. Liska ( UFSCar ) Notas de Aula 60 / 87
Principais objetos Matrizes

Matrizes - Exemplo 3 (cont.)


• Com os dados do exemplo anterior, vamos calcular a média aritmética
simples das notas dos alunos da turma.
• As notas configuram uma variável x do tipo numérica com ı́ndices i e
j. Assim, xij refere-se a nota j do aluno i. Por exemplo, x23 refere-se
a 3a nota do segundo aluno.
Nota
Aluno
1 2 3 4 5
1 x11 x12 x13 x14 x15
2 x21 x22 x23 x24 x25
3 x31 x32 x33 x34 x35

A média é dada pela seguinte fórmula


x11 + x12 + x13 + · · · + x34 + x35
Média = (2)
15

Gilberto R. Liska ( UFSCar ) Notas de Aula 61 / 87


Principais objetos Matrizes

Matrizes - Exemplo 3 (cont.)


• Precisamos, primeiramente, Exemplo 3 no Python (cont.)
somar os elementos. Como #com o objeto turma digitado
os dados estão dispostos em #obter numero de linhas e colunas
import numpy as np
matriz, podemos utilizar as m=np.matrix(turma).reshape((3, 5))
estrutura de repetição FOR nlm=m.shape[0] #numero de linhas de m
para varrer as linhas e colu- print(nlm)
ncm=m.shape[1] #numero de colunas de m
nas da matriz. print(ncm)
#calcular a soma da matriz
• Além disso, precisaremos de soma=0
um objeto, o qual será so- #For para percorrer as linhas
for i in range(nlm):
mado a cada iteração do #For para percorrer as colunas
FOR. Chamaremos esse ob- for j in range(ncm):
jeto de soma e seu valor inicial soma=soma+turma[i][j]
print(soma)
é zero.
• Copie e cole os códigos a se- #calcular a media
media=soma/(nlm*ncm)
guir no seu script. print("A média é {}".format(media))

Gilberto R. Liska ( UFSCar ) Notas de Aula 62 / 87


Principais objetos Tabelas

Tabelas (Data frames)

• Uma tabela é um objeto que contém


múltiplos vetores que são do mesmo ta-
manho. Esses vetores podem ser do tipo
numérico, lógico ou de caracteres.
• É semelhante a uma matriz, com a vanta-
gem de permitir a inclusão de caracteres
não numéricos;
• É também semelhante a uma planilha ou
base de dados e é útil para representar da-
dos experimentais.
• No Python existe uma biblioteca que fa-
cilita a criação de data frames, chamada
Pandas.

Gilberto R. Liska ( UFSCar ) Notas de Aula 63 / 87


Principais objetos Tabelas

Tabelas

Exemplo 4
• Um questionário foi aplicado aos cinco funcionários do setor adminis-
trativo de uma empresa fornecendo os dados apresentados na tabela 3.

Tabela 3: Respostas dos funcionários do setor administrativo da empresa ao


questionário.

Funcionário Curso Idade Salário (R$) Anos de empresa Sexo


Lisa superior 34 1100,00 5 F
Godofredo superior 43 1450,00 8 M
João fundamental 21 450,00 3 M
Joana médio 37 960,00 8 F
Alba médio 25 600,00 2 F

Gilberto R. Liska ( UFSCar ) Notas de Aula 64 / 87


Principais objetos Tabelas

Tabelas - Exemplo 4 (cont.)


• Precisamos, primeiramente, criar os vetores que receberão cada coluna
da tabela 3.
• IMPORTANTE: Não esquecer que os nomes ou letras devem estar
entre aspas.
Exemplo 4 no Python
import pandas as pd
#Criando um dicionário onde cada chave será uma coluna do dataframe
data={
"nome":["Lisa","Godofredo","João","Joana","Alba"],
"curso":["superior","superior","fundamental","médio","médio"],
"idade":[34,43,21,37,25],
"salario":[1100,1450,450,960,600],
"anos":[5,8,3,8,2],
"sexo":["F","M","M","F","F"]
}
#Criando o DataFrame
df = pd.DataFrame(data, columns=["nome","curso","idade",
"salario","anos","sexo"])
print(df)

Gilberto R. Liska ( UFSCar ) Notas de Aula 65 / 87


Principais objetos Tabelas

Observações
• O operador [xx ], apresentado nas Exemplo 4 no Python (cont.)
Listas, tem a mesma funcionalidade #todas as informacoes da linha 0
nas tabelas. df.loc[0]
#todas as informacoes da linha 1
df.loc[1]
• Caso queiramos subdividir a tabela #para várias linhas
df.loc[[0,4]]
em determinadas linhas e colunas,
#selecionar várias linhas e colunas.
pode-se utilizar o comando df.loc. df.loc[[1,2],["nome","idade"]]
• Caso queiramos subdividir a ta- #retornar do 2º ao 4º funcionario
df.loc[2:4]
bela em determinadas linhas e co- #selecionar fucnionarios de 2 em 2
lunas que obedecem uma certa df.loc[0:4:2]
condição, pode-se utilizar o co- #selecionar uma coluna especifica
df.loc[0:,["salario"]]
mando df.query.
#alguns fatiamentos
• Copie e cole os códigos no seu script df.query("anos >= 3")
df.query(’sexo == "M"’)
e veja as funcionalidades dos dois df.query(’sexo ==
df.query(’sexo "F" & anos > 2’) #regra do E
== "F" | anos > 3’) #regra do OU
comandos (além desses existem ou-
tros).
Gilberto R. Liska ( UFSCar ) Notas de Aula 66 / 87
Principais objetos Tabelas

Trabalhando com matrizes e tabelas

• Voltando ao Exemplo 3, se quiséssemos calcular a


média das notas de cada aluno, como deverı́amos
proceder?
• Uma alternativa seria utilizar a estrutura de
repetição FOR em cada linha da matriz.
• Uma outra alternativa seria usar funções prontas no
Python que facilitam a manipulação de matrizes e
tabelas.
• Vamos mostrar como as funções apply e groupby
podem ser úteis nos exemplos 3 e 4.

Fonte: https://pixabay.com/
images/id-294525/

Gilberto R. Liska ( UFSCar ) Notas de Aula 67 / 87


Principais objetos Tabelas

Trabalhando com matrizes e tabelas


Apply Exemplo 5 no Python
Aplica uma função (soma, #digitar os elementos da matriz
turma=[[5,4.5,7,5.2,6.1],
máximo, média, etc.) às linhas ou [2.1,6.5,8,7,6.7],
[8.6,7,9.1,8.7,9.3]]
colunas de uma matriz ou array. #transformando para data frame do Pandas
Dois argumentos precisam ser import pandas as pd
df5 = pd.DataFrame(turma)
definidos: print(df5)

• funcao: a função a ser utilizada #media por linha (aluno)


df5.apply(np.mean,axis=1)
• axis: pode ser 0 ou 1. Se 1, a #resultado na tela 3
0 5.56
operação é feita nas linhas e 0 a 1 6.06
operação é feita nas colunas. 2 8.54

#media por coluna (avaliacao)


OBS.: O nome do data frame é antece- df5.apply(np.mean,axis=0)
#resultado na tela 3
dido da função apply. 0 5.233333
1 6.000000
Exemplo 5 2
3
8.033333
6.966667
4 7.366667
Utilizando a matriz do exemplo 3,
calcule a média da nota de cada
aluno. Utilize a equação 2.
Gilberto R. Liska ( UFSCar ) Notas de Aula 68 / 87
Principais objetos Tabelas

Trabalhando com matrizes e tabelas


Groupby Exemplo 6
Aplica uma função a cada Utilizando a tabela 3 do exemplo 4, cal-
grupo (não vazio) de valores cule a média salarial dos funcionários nos
fornecidos por uma combinação diferentes sexos. Utilize a equação 2,
exclusiva dos nı́veis de certos
fatores. Três argumentos pre- lembrando que deve-se somar a quanti-
cisam ser definidos: dade de salários (que varia de acordo com
• [”fator ”]: coluna que contém o o sexo) e dividir pelo número de pessoas
fator que será aplicada a função de cada sexo.
• agg(”variavel” : [”funcao”]):
estabelecer a variável que será Exemplo 6 no Python
aplicada a função dentro dos
print(df) #a tabela criada no exemplo 4
nı́veis do fator
• funcao: a função a ser utilizada df.groupby(["sexo"]).agg({"salario":["mean"]})

OBS.: O nome do data frame é an-


tecedido da função groupby.

Gilberto R. Liska ( UFSCar ) Notas de Aula 69 / 87


Arquivos

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos
Diretório
read csv

8 Funções no Python
Gilberto R. Liska ( UFSCar ) Notas de Aula 70 / 87
Arquivos

Arquivos

• Até o momento trabalhamos com vetores, matrizes,


tabelas e conjuntos de dados pequenos.
• É muito comum trabalhar com conjunto de
informações grandes (grandes em extensão e/ou
grandes em tamanho - bytes)
• Nesses casos é viável que esses arquivos externos
sejam “chamados” para dentro de um programa, no
nosso caso o Python, ao invés de digitá-los dentro
do programa.
• É recomendado que os dados estejam organizados
Fonte: https://pixabay.com/
como uma tabela (data.frame) images/id-28741/

Gilberto R. Liska ( UFSCar ) Notas de Aula 71 / 87


Arquivos

Arquivos - Exemplo

Exemplo 7
• Vamos utilizar o conjunto de dados
que traz informações do sexo, idade,
peso, altura, renda e número de fal-
tas de 40 alunos de uma turma de
uma universidade.
• Digite o conjunto de dados da tabela
4 em uma planilha.
• Abra o Bloco de Notas, copie os da-
dos da planilha e cole no bloco de
notas e salve com o nome “Tab1”. Figura 10: Bloco de notas do
arquivo Tab1.

• Esse arquivo também está disponı́vel na pasta virtual do curso.

Gilberto R. Liska ( UFSCar ) Notas de Aula 72 / 87


Arquivos

Dados do exemplo 7

Tabela 4: Informação do sexo (M=0,F=1), idade, peso, altura e renda (B=1,


M=2 e A=3) e número de faltas de 40 alunos de uma turma de uma universidade.

Id Sexo Idade(anos) Peso(Kg) Altura(m) Renda Faltas Id Sexo Idade(anos) Peso(Kg) Altura(m) Renda Faltas
1 1 23 62 1.610 1 1 21 0 18 54 1.803 2 1
2 0 24 57 1.624 2 2 22 0 19 65 1.811 3 2
3 1 20 73 1.647 2 0 23 1 19 75 1.816 2 0
4 1 20 80 1.656 3 1 24 1 26 74 1.826 3 1
5 0 18 70 1.677 2 2 25 0 21 66 1.827 1 2
6 0 19 61 1.692 2 3 26 0 19 67 1.828 2 3
7 1 23 89 1.698 2 0 27 0 22 83 1.829 1 0
8 1 21 64 1.713 2 1 28 0 18 84 1.841 3 1
9 1 21 65 1.716 1 2 29 1 25 72 1.842 2 2
10 1 22 71 1.717 1 1 30 1 24 74 1.853 1 1
11 0 20 73 1.731 1 0 31 0 26 66 1.861 2 0
12 1 22 71 1.749 1 2 32 0 23 70 1.887 2 2
13 1 26 70 1.750 1 2 33 0 19 72 1.889 3 2
14 0 22 62 1.752 1 0 34 1 23 73 1.891 1 0
15 0 20 67 1.753 2 5 35 1 26 86 1.898 2 5
16 0 21 68 1.758 3 2 36 0 27 71 1.904 3 2
17 1 24 61 1.785 2 1 37 0 27 77 1.915 2 1
18 0 19 68 1.786 2 3 38 1 18 57 1.921 2 3
19 0 23 59 1.799 2 2 39 1 24 67 1.929 2 2
20 1 19 66 1.802 3 3 40 0 25 73 1.977 2 3

Gilberto R. Liska ( UFSCar ) Notas de Aula 73 / 87


Arquivos Diretório

Verificando diretório

Antes de chamar um arquivo externo no Python, devemos mostrar para o


Python onde está o arquivo. Veja na figura 11.

Figura 11: Mudando/Verificando o diretório no Python.

Obs.:
Esse passo é importante porque ao usar os comandos a seguir, o arquivo
deve estar no diretório especificado. Caso contrário, uma mensagem de erro
aparecerá na tela 3.

Gilberto R. Liska ( UFSCar ) Notas de Aula 74 / 87


Arquivos read csv

Comando read csv


• Para ler um data frame di-
retamente, o arquivo externo
normalmente apresenta uma
forma especial;
• A primeira linha do arquivo
geralmente tem um nome
para cada variável (coluna) no
arquivo de dados.

Carregando o arquivo do exemplo


7 no Python:
# depois de mudar o diretório
# importando txt files
import pandas as pd
df=pd.read_csv("Tab1.txt") Figura 12: Arquivo do exemplo 7
print(df) carregado.

Gilberto R. Liska ( UFSCar ) Notas de Aula 75 / 87


Arquivos read csv

Comando read csv


• Note que para ler o arquivo em
formato de data frame, carrega-
mos o pacote Pandas.
• Note na tela 3 que os valores apa-
receram com \t. Isso acontece
porque o comando entende que
o arquivo é do formato CSV;
• Pra corrigir, basta acrescentar o
argumento delimiter=“\t” ou
sep“\t” à função pd.read csv.
Veja na figura 13.
No Python:
# carregar o conjunto de dados
import pandas as pd Figura 13: Arquivo do exemplo 7
df=pd.read_csv("Tab1.txt",delimiter="\t") carregado.
print(df)
Gilberto R. Liska ( UFSCar ) Notas de Aula 76 / 87
Funções no Python

Sumário

1 Introdução

2 Linguagem Python

3 Criando Scripts

4 Estrutura Condicional

5 Estrutura de Repetição

6 Principais objetos

7 Arquivos

8 Funções no Python

Gilberto R. Liska ( UFSCar ) Notas de Aula 77 / 87


Funções no Python

Funcionalidades no Python
Função SUM
Somar coisas é uma tarefa bastante comum. No Python temos uma função
pronta para fazer isso, que é a função sum. Vamos ilustrar essa função em
exemplos de técnicas de somatório. O somatório é indicado pela letra grega
sigma maiúscula (Σ). A figura 14 mostra seus principais elementos.

Figura 14: Esquema ilustrativo dos elementos tı́picos de um somatório.


Gilberto R. Liska ( UFSCar ) Notas de Aula 78 / 87
Funções no Python

Somatório

Vamos fazer os seguintes exemplos no Python.


Exemplo 8
Sejam os conjuntos X = 2, 4, 4, 3, 2 e Y = 1, 2, 3, 6, 7. Obtenha:

4
 5  5 
(a) (e)
P P P
Xi Xi Yi
i=1 i=1 i=1
5 5
(b) (f) (3Xi + 2Yi )
P P
Yi
i=1 i=1
4 4 5
(c) 4Xi2 (g) Xi Yi + Yi2
P P P
i=1 i=2 i=1
5
(d)
P
Xi Yi
i=1

Gilberto R. Liska ( UFSCar ) Notas de Aula 79 / 87


Funções no Python

Somatório

Copie e cole os códigos abaixo no seu script. Veja o que acontece.


Exemplo 8 no Python Exemplo 8 no Python
# Exemplo #d)
X=[2,4,4,3,2] np.inner(X, Y)
Y=[1,2,3,6,7]
# e)
#pedindo ajuda da função sum(X)*sum(Y)
?sum
# f)
# a) sum(3*X+2*Y)
sum(X[0:4])
# g)
# b) np.inner(X[1:4],Y[1:4])+sum(np.power(Y, 2))
sum(Y)

# c)
import numpy
4*sum(np.power(X[0:4], 2))

Gilberto R. Liska ( UFSCar ) Notas de Aula 80 / 87


Funções no Python

Somatório

Exemplo 8 - Respostas
Sejam os conjuntos X = 2, 4, 4, 3, 2 e Y = 1, 2, 3, 6, 7. Obtenha:

4
 5  5 
(a) Xi = 13 (e) = 285
P P P
Xi Yi
i=1 i=1 i=1
5 5
(b) Yi = 19 (f) (3Xi + 2Yi ) = 83
P P
i=1 i=1
4 4 5
(c) 4Xi2 = 180 (g) Xi Yi + Yi2 = 137
P P P
i=1 i=2 i=1
5
(d) Xi Yi = 54
P
i=1

Gilberto R. Liska ( UFSCar ) Notas de Aula 81 / 87


Funções no Python

Função no Python
Funções
• O Python nos possibilita criar nossas próprias funções, que são ge-
nuinamente funções Python, sendo armazenadas internamente de uma
forma especial e podendo ser utilizadas em novas expressões.
• Desta forma a linguagem ganha grande poder, conveniência e elegância.
O aprendizado em escrever funções úteis é uma das muitas maneiras
de fazer com que o uso do Python seja confortável e produtivo.
• A sintaxe geral de uma função é dada por:
def nome(arg 1, arg 2, ...):
expressão
return()

em que expressão é, normalmente, um grupo de comandos e nome é


o objeto que receberé a função. Sua chamada se dará por um comando
nome(a1, a2, ...), em que a1, a2, etc. são os valores que deverão ser
passados como argumentos dos objetos (arg 1,arg 2, ...).
Gilberto R. Liska ( UFSCar ) Notas de Aula 82 / 87
Funções no Python

Função Python
Exemplo 9
• Vamos criar uma função que faça a mesma coisa que o
comando sum visto anteriormente, ou seja, dado um vetor
de tamanho n, a função deverá somar seus elementos.
• Para construir essa função, devemos primeiramente pensar
em quais serão seus argumentos. Veja que:
1 Precisaremos de um argumento referente ao tamanho do
vetor (chamaremos de n).
2 Precisaremos fazer com que o programa percorra por
todo o vetor. Uma estrutura de repetição pode ser útil Fonte:
https://pixabay.
(FOR) com/images/
id-3689669/
3 Precisaremos de um objeto auxiliar que servirá para
armazenar os valores da soma. Chamaremos esse objeto
de s.
• Tendo essas caracterı́sticas em mente, podemos montar
nossa função! Vamos chamá-la de soma.
Gilberto R. Liska ( UFSCar ) Notas de Aula 83 / 87
Funções no Python

Funcionalidades no Python

Exemplo 9 Exemplo 9 no Python


Nossa função tem a seguinte estru- def soma(x):
n=len(x)
tura de programação: s=0
for i in range(n):
s=s+x[i]
return(s)
Inı́cio: x = vetor;
n = comprimento de x; X=[2,4,4,3,2]
s=0 Y=[1,2,3,6,7]
soma(X)
for (i) in < 1:n > soma(Y)
< s = s + x[i] >
#veja que é igual
fim sum(X)

Gilberto R. Liska ( UFSCar ) Notas de Aula 84 / 87


Funções no Python

Função no Python
Exemplo 10 Exemplo 10 (a) no Python
Vamos criar uma função que cal- def media(x):
n=len(x)
cule a média aritmética simples s=0
(X̄ ), dada por for i in range(n):
n
P s=s+x[i]
Xi m=s/n
X̄ = i=1 (3) return(m)
n
de um vetor qualquer. X=[2,4,4,3,2]
media(X)

Inı́cio: x = vetor; Exemplo 10 (b) no Python


n = comprimento de x; def media2(x):
s=0 n=len(x)
m=soma(x)/n
for (i) in < 1:n > return(m)

X=[2,4,4,3,2]
< s = s + x[i] > media2(X)
< media = s/n >
fim
Gilberto R. Liska ( UFSCar ) Notas de Aula 85 / 87
Funções no Python

Observações

• Qual a diferença entre os procedimentos feitos no Exemplo


10 (a) e (b)?
• No Exemplo 10 (a), criamos a função media, que utiliza
a estrutura de repetição FOR. Tudo é feito em uma função
apenas.
• No Exemplo 10 (b), criamos a função media2, que faz a
mesma coisa que a função media, com a diferença de que
a função media2 depende da função soma do exemplo 10.
• O procedimento usado em media2 é bastante útil
na construção de funções mais complexas e torna a
programação mais dinâmica e fluı́da. Isso mostra também Fonte: https:
a versatilidade do Python para construir funções próprias. //pixabay.com/
images/id-294525/

Gilberto R. Liska ( UFSCar ) Notas de Aula 86 / 87


Funções no Python

Linguagem de programação Python

• O conteúdo desta aula geralmente


é visto em cursos introdutórios de
Python.

• Existem muitas outros usos de


Python, como:
• Programação com strings;
• Gráficos
• Tratamento de dados massivos (Big
Data);
• Integração de dispositivos;
• entre outros.

• Caso deseje ver mais de Python, no PoCA tem o curso Introdução à


Linguagem de Programação Python, com 30 horas de carga horária.

Gilberto R. Liska ( UFSCar ) Notas de Aula 87 / 87

Você também pode gostar