Documente Academic
Documente Profesional
Documente Cultură
COM PYTHON
Sumrio
PREFCIO........................................................................................................................ 1
1. INTRODUO.............................................................................................................. 2
1.1 Caractersticas da linguagem Python ..................................................................... 2
1.2 Instalao do interpretador Python ....................................................................... 2
2. VARIVEIS ................................................................................................................... 4
3. STRINGS ...................................................................................................................... 6
3.1 Concatenao de strings ........................................................................................ 6
3.2 Manipulao de strings .......................................................................................... 7
3.3 Fatiamento de strings ............................................................................................ 8
3.4 Exerccios: strings .................................................................................................. 8
4. NMEROS ................................................................................................................... 9
4.1 Operadores numricos .......................................................................................... 9
4.2 Exerccios: nmeros ............................................................................................... 9
5. LISTAS ....................................................................................................................... 10
5.1 Funes para manipulao de listas .................................................................... 10
5.2 Operaes com listas ........................................................................................... 11
5.3 Fatiamento de listas ............................................................................................ 11
5.4 Criao de listas com range ( ) ............................................................................. 12
5.5 Exerccios: listas ................................................................................................... 12
6. TUPLAS ..................................................................................................................... 13
7. DICIONRIOS ............................................................................................................ 13
7.1 Operaes em dicionrios ................................................................................... 14
7.2 Exerccios: dicionrios .......................................................................................... 14
8. BIBLIOTECAS ............................................................................................................. 15
9. ESTRUTURAS DE DECISO ......................................................................................... 15
9.1 Estrutura if ........................................................................................................... 16
9.2 Estrutura if..else .................................................................................................. 16
9.3 Comando if..elif..else ........................................................................................... 16
9.4 Exerccios: estruturas de deciso ......................................................................... 17
PREFCIO
Este material foi escrito para ser utilizado em cursos de extenso de Introduo
Programao com Python, do Instituto Federal de Educao, Cincia e Tecnologia de
So Paulo, cmpus So Carlos.
A apostila foi desenvolvida pelos integrantes do Programa de Educao Tutorial do curso
de Tecnologia em Anlise e Desenvolvimento de Sistemas - grupo PET ADS / IFSP So
Carlos. O grupo iniciou suas atividades em 2011, e realiza atividades diversas envolvendo
Ensino, Pesquisa e Extenso. Entre as linguagens e ferramentas de programao estudadas
pelo grupo esto: o ambiente de desenvolvimento Lazarus, o editor de jogos Construct 2, as
linguagens Ruby, Python e JavaScript, os frameworks Rails, Django, Web2Py e Grails.
A linguagem Python se destacou pela facilidade de programao e versatilidade. Python
uma linguagem de uso geral, que pode ser utilizada para diversas aplicaes. Apresenta
uma sintaxe simples, tornando os programas mais legveis, o que tambm facilita o
aprendizado da linguagem. Possui listas, dicionrios e tuplas como estruturas de dados
pr-definidas. uma linguagem multiparadigma: suporta os paradigmas de programao
procedural, funcional e orientado a objetos.
Diversos petianos colaboraram na confeco desta apostila. Mas gostaria de agradecer
especialmente quatro estudantes que se destacaram pelo empenho e dedicao na
execuo dessa tarefa: Jos Picharillo, Lucas Limo, Viviane Quinaia e Camila Couto.
Este um material de apoio para um curso de extenso introdutrio, cujo objetivo
divulgar a linguagem Python. No um material preparado para autoaprendizagem,
embora seja possvel utiliz-lo com esse fim.
Reforando, este um material introdutrio. Tem muito mais para aprender em Python:
orientao a objetos, programao funcional, metaprogramao, interface grfica,
expresses regulares, threads, tratamento de excees, funes annimas, geradores,
desenvolvimento web, aplicativos mveis, entre outras.
Bem-vindo ao mundo Python!
1. INTRODUO
1.1 Caractersticas da linguagem Python
A linguagem de programao Python foi criada em 1991 por Guido Van Rossumem, com a
finalidade de ser uma linguagem simples e de fcil compreenso. Apesar de simples, Python uma
linguagem muito poderosa, que pode ser usada para desenvolver e administrar grandes sistemas.
Uma das principais caractersticas que diferencia a linguagem Python das outras a legibilidade dos
programas escritos. Isto ocorre porque, em outras linguagens, muito comum o uso excessivo de
marcaes (ponto ou ponto e vrgula), de marcadores (chaves, colchetes ou parnteses) e de
palavras especiais (begin/end), o que torna mais difcil a leitura e compreenso dos programas. J
em Python, o uso desses recursos reduzido, deixando a linguagem visualmente mais limpa, de
fcil compreenso e leitura.
Entre outras caractersticas existentes na linguagem Python, destaca-se a simplicidade da
linguagem, que facilita o aprendizado da programao. Python tambm possui uma portabilidade
muito grande para diversas plataformas diferentes, alm de ser possvel utilizar trechos de cdigos
em outras linguagens.
Python um software livre, ou seja, permite que usurios e colaboradores possam modificar seu
cdigo fonte e compartilhar essas novas atualizaes, contribuindo para o constante
aperfeioamento da linguagem. A especificao da linguagem mantida pela empresa Python
Software Foundation (PSF).
2. Digite o comando sudo apt-get install python3.4 no terminal do GNU/Linux para inicializar
o processo de instalao.
2. VARIVEIS
Variveis so pequenos espaos de memria, utilizados para armazenar e manipular dados. Em
Python, os tipos de dados bsicos so: tipo inteiro (armazena nmeros inteiros), tipo float (armazena
nmeros em formato decimal), e tipo string (armazena um conjunto de caracteres). Cada varivel
pode armazenar apenas um tipo de dado a cada instante.
Em Python, diferentemente de outras linguagens de programao, no preciso declarar de que tipo
ser cada varivel no incio do programa. Quando se faz uma atribuio de valor, automaticamente a
varivel se torna do tipo do valor armazenado, como apresentado nos exemplos a seguir:
Exemplos:
O comando input(), sempre vai retornar uma string. Nesse caso, para retornar dados do tipo
inteiro ou float, preciso converter o tipo do valor lido. Para isso, utiliza-se o int (string) para
converter para o tipo inteiro, ou float (string) para converter para o tipo float.
Exemplos:
Em Python, os nomes das variveis devem ser iniciados com uma letra, mas podem possuir outros
tipos de caracteres, como nmeros e smbolos. O smbolo sublinha ( _ ) tambm aceito no incio
de nomes de variveis.
Vlido
Comentrios
a3
Sim
velocidade
Sim
velocidade90
Sim
salario_mdio
Sim
salario mdio
No
_salrio
Sim
5A
No
3. STRINGS
Uma string uma sequncia de caracteres simples. Na linguagem Python, as strings so utilizadas
com aspas simples ('... ') ou aspas duplas ("...").
Para exibir uma string, utiliza-se o comando print().
Exemplo:
capitalize()
count()
startswith()
Descrio
Retorna o tamanho da string.
endswith()
isalnum()
isalpha()
islower()
isupper()
lower()
upper()
swapcase()
title()
split()
Exemplo
teste = Apostila de Python
len(teste)
18
a = "python"
a.capitalize()
'Python'
b = "Linguagem Python"
b.count("n")
2
c = "Python"
c.startswith("Py")
True
d = "Python"
d.endswith("Py")
False
e = "!@#$%"
e.isalnum()
False
f = "Python"
f.isalpha()
True
g = "pytHon"
g.islower()
False
h = "# PYTHON 12"
h.isupper()
True
i = "#PYTHON 3"
i.lower()
'#python 3'
j = "Python"
j.upper()
'PYTHON'
k = "Python"
k.swapcase()
'pYTHON'
l = "apostila de python"
l.title()
'Apostila De Python'
m = "cana de acar"
m.split()
['cana', 'de', 'acar']
7
replace(S1, S2)
find()
ljust()
rjust()
center()
Ajusta a string para um tamanho mnimo, acrescentando espaos esquerda e direita, se necessrio.
lstrip()
rstrip()
strip()
n = "Apostila teste"
n.replace("teste", "Python")
'Apostila Python'
o = "Python"
o.find("h")
3
p = " Python"
p.ljust(15)
' Python
'
q = "Python"
q.rjust(15)
'
Python'
r = "Python"
r.center(10)
' Python '
s = " Python "
s.lstrip()
'Python '
t = " Python "
t.rstrip()
' Python'
u = " Python "
u.strip()
'Python'
s[:4]
'Pyth'
4. NMEROS
Os quatro tipos numricos simples, utilizados em Python, so nmeros inteiros (int), nmeros longos (long), nmeros decimais (float) e nmeros complexos (complex).
A linguagem Python tambm possui operadores aritmticos, lgicos, de comparao e de bit.
Descrio
Exemplo
+
*
/
%
**
Soma
Subtrao
Multiplicao
Diviso
Resto da diviso
Potncia
5 + 5 = 10
72=5
2*2=4
4/2=2
10 % 3 = 1
4 ** 2 = 16
Descrio
<
<=
>
>=
==
!=
Menor que
Menor ou igual
Maior que
Maior ou igual
Igual
Diferente
Exemplo
a < 10
b <= 5
c >2
d >= 8
e == 5
f != 12
Descrio
Exemplo
NO
E
OU
not a
(a <=10) and (c = 5)
(a <=10) or (c = 5)
( 2 + 2 )
()2
5. LISTAS
Lista um conjunto sequencial de valores, onde cada valor identificado atravs de um ndice. O
primeiro valor tem ndice 0. Uma lista em Python declarada da seguinte forma:
Nome_Lista = [ valor1, valor2, ..., valorN]
Uma lista pode ter valores de qualquer tipo, incluindo outras listas.
Exemplo:
L[3]= 'morango'
print(L)
L = [3 , 'abacate' , 9.7 , 'morango', "Python" , (3 , 'j')]
L[7]= 'banana'
10
Descrio
len
min
max
sum
append
extend
del
in
sort()
reverse()
Exemplo
L = [1, 2, 3, 4]
len(L) 4
L = [10, 40, 30, 20]
min(L) 10
L = [10, 40, 30, 20]
max(L) 40
L = [10, 20, 30]
sum(L) 60
L = [1, 2, 3]
L.append(100)
L [1, 2, 3, 100]
L = [0, 1, 2]
L.extend([3, 4, 5])
L [0, 1, 2, 3, 4, 5]
L = [1,2,3,4]
del L[1]
L [1, 3, 4]
L = [1, 2 , 3, 4]
3 in L True
L = [3, 5, 2, 4, 1, 0]
L.sort()
L [0, 1, 2, 3, 4, 5]
L = [0, 1, 2, 3, 4, 5]
L.reverse()
L [5, 4, 3, 2, 1, 0]
[0, 1, 2, 3, 4, 5]
Repetio ( * )
L = [1,2]
R = L * 4
print(R)
[1, 2, 1, 2, 1, 2, 1, 2]
5.3 Fatiamento de listas
O fatiamento de listas semelhante ao fatiamento de strings.
11
Exemplo:
Exemplos:
L1 = list(range(5))
print(L1)
[0, 1, 2, 3, 4]
L2 = list(range(3,8))
print(L2)
[3, 4, 5, 6, 7]
L3 = list(range(2,11,3))
print(L3)
[2, 5, 8]
6. TUPLAS
Tupla, assim como a Lista, um conjunto sequencial de valores, onde cada valor identificado
atravs de um ndice. A principal diferena entre elas que as tuplas so imutveis, ou seja, seus
elementos no podem ser alterados.
Dentre as utilidades das tuplas, destacam-se as operaes de empacotamento e desempacotamento
de valores.
Uma tupla em Python declarada da seguinte forma:
Nome_tupla = (valor1, valor2, ..., valorN)
Exemplo:
T = (1,2,3,4,5)
print(T)
(1, 2, 3, 4, 5)
print(T[3])
4
T[3] = 8
Traceback (most recent call last):
File "C:/Python34/teste.py", line 4, in <module>
T[3] = 8
TypeError: 'tuple' object does not support item assignment
Uma ferramenta muito utilizada em tuplas o desempacotamento, que permite atribuir os
elementos armazenados em uma tupla a diversas variveis.
Exemplo:
T = (10,20,30,40,50)
a,b,c,d,e = T
print("a=",a,"b=",b)
a= 10 b= 20
print("d+e=",d+e)
d+e= 90
7. DICIONRIOS
Dicionrio um conjunto de valores, onde cada valor associado a uma chave de acesso.
Um dicionrio em Python declarado da seguinte forma:
Nome_dicionario = { chave1 : valor1,
chave2 : valor2,
chave3 : valor3,
......
chaveN : valorN}
Exemplo:
D={"arroz": 17.30, "feijo":12.50,"carne":23.90,"alface":3.40}
print(D)
{'arroz': 17.3, 'carne': 23.9, 'alface': 3.4, 'feijo': 12.5}
print(D["carne"])
23.9
13
print(D["tomate"])
Traceback (most recent call last):
File "C:/Python34/teste.py", line 4, in <module>
print(D["tomate"])
KeyError: 'tomate'
possvel acrescentar ou modificar valores no dicionrio:
D["carne"]=25.0
D["tomate"]=8.80
print(D)
{'alface':3.4 ,'tomate':8.8,'arroz':17.3,'carne':25.0, 'feijo':12.5}
Os valores do dicionrio no possuem ordem, por isso a ordem de impresso dos valores no
sempre a mesma.
Descrio
Exclui um item informando a chave.
in
Exemplo
del D["feijo"]
print(D)
{'alface':3.4 'tomate':8.8,'arroz':17.3,'carne':25.0}
keys()
values()
Obtm as chaves de
um dicionrio.
Obtm os valores de
um dicionrio.
batata" in D
"alface" in D
False
True
D.keys()
dict_keys(['alface', 'tomate,'carne',
D.values()
dict_values([3.4, 8.8, 25.0, 17.3])
'arroz'])
R$ 4.50
R$ 6.50
R$ 3.00
R$ 3.50
R$ 1.00
2 Considere um dicionrio com 5 nomes de alunos e suas notas. Escreva um programa que calcule
a mdia dessas notas.
14
8. BIBLIOTECAS
As bibliotecas armazenam funes pr-definidas, que podem ser utilizados em qualquer momento
do programa. Em Python, muitas bibliotecas so instaladas por padro junto com o programa. Para
usar uma biblioteca, deve-se utilizar o comando import:
Exemplo: importar a biblioteca de funes matemticas:
import math
print(math.factorial(6))
Pode-se importar uma funo especfica da biblioteca:
from math import factorial
print(factorial(6))
Funo
Funes matemticas
Interface Grfica padro
e-mail
Funes de tempo
Alm das bibliotecas padro, existem tambm outras bibliotecas externas de alto nvel disponveis
para Python. A tabela a seguir mostra algumas dessas bibliotecas.
Tabela 9 - Algumas bibliotecas externas para Python
Bibliotecas
urllib
numpy
PIL/Pillow
Funo
Leitor de RSS para uso na internet
Funes matemticas mais avanadas
Manipulao de imagens
9. ESTRUTURAS DE DECISO
As estruturas de deciso permitem alterar o curso do fluxo de execuo de um programa, de acordo
com o valor (Verdadeiro/Falso) de um teste lgico.
Em Python temos as seguintes estruturas de deciso:
if (se)
if..else (se..seno)
if..elif..else (se..seno..seno se)
15
9.1 Estrutura if
O comando if utilizado quando precisamos decidir se um trecho do programa deve ou no ser
executado. Ele associado a uma condio, e o trecho de cdigo ser executado se o valor da
condio for verdadeiro.
Sintaxe:
if <condio> :
<Bloco de comandos >
Exemplo:
Somente o bloco de comandos associado primeira condio verdadeira encontrada ser executado.
Se nenhuma das condies tiver valor verdadeiro, executa o bloco de comandos default.
Exemplo:
Exemplos:
1. Encontrar a soma S = 1+4+7+10+13+16+19
S=0
for x in range(1,20,3):
S = S+x
print('Soma = ',S)
2. As notas de um aluno esto armazenadas em uma lista. Calcular a mdia dessas notas.
Lista_notas= [3.4,6.6,8,9,10,9.5,8.8,4.3]
soma=0
for nota in Lista_notas:
soma = soma+nota
mdia = soma/len(Lista_notas)
print('Mdia = ', mdia)
18
11. FUNES
Funes so pequenos trechos de cdigo reutilizveis. Elas permitem dar um nome a um bloco de
comandos e executar esse bloco, a partir de qualquer lugar do programa.
Para uma varivel ser compartilhada entre diversas funes e o programa principal, ela deve ser
definida como varivel global. Para isto, utiliza-se a instruo global para declarar a varivel em
todas as funes para as quais ela deva estar acessvel. O mesmo vale para o programa principal.
Exemplo:
def soma(x,y):
global total
total = x+y
print("Total soma = ",total)
#programa principal
global total
total = 10
soma(3,5)
print("Total principal = ",total)
Resultado da execuo:
Total soma = 8
Total principal = 8
Exemplo:
def soma(x,y):
total = x+y
return total
#programa principal
s=soma(3,5)
print("soma = ",s)
Resultado da execuo:
soma = 8
Observaes:
a) O valor da varivel total, calculado na funo soma, retornou da
funo e foi atribudo varivel s.
b) O comando aps o return foi ignorado.
21
Nmeros
1)
2)
Listas
1)
L = [5, 7, 2, 9, 4, 1, 3]
print("Lista = ",L)
print("O tamanho da lista ",len(L))
print("O maior elemento da lista ",max(L))
print("O menor elemento da lista ",min(L))
print("A soma dos elementos da lista ",sum(L))
L.sort()
print("Lista em ordem crescente: ",L)
L.reverse()
print("Lista em ordem decrescente: ",L)
2)
L = list(range(3,50,3))
22
Dicionrios
1)
Estrutura de deciso
1)
2)
Estruturas de repetio
1)
S=0
for x in range(3,334,3):
S=S+x
print("Soma = ",S)
2)
S=0
for contador in range(1,11):
nota = float(input("Digite a nota "+str(contador)+": "))
S=S+nota
print("Mdia = ",S/10)
3)
numero = int(input("Digite o nmero para a tabuada: "))
for sequencia in range(1,11):
print("%2d x %2d = %3d" %(sequencia,numero,sequencia*numero))
Funes
1)
def linha(N):
for i in range(N):
print(end='_')
print(" ")
2)
def imprime_lista(L):
contador=0
for valor in L:
contador = contador + 1
print(contador,')',valor)
3)
def media_lista(L):
somador=0
for valor in L:
somador = somador + valor
return somador/len(L)
24
BIBLIOGRAFIA
BEAZLEY, D. ; JONES, B.K. Python Cookbook. Ed. Novatec, 2013.
BORGES, L. E. Python para desenvolvedores. 1ed. So Paulo SP: Novatec, 2014.
GRUPO PET-TELE. Tutorial de introduo ao Python. Niteri RJ: Universidade
Federal Fluminense (UFF) / Escola de Engenharia, 2011. (Apostila).
LABAKI, J. Introduo a python Mdulo A. Ilha Solteira SP: Universidade Estadual
Paulista (UNESP), 2011. (Apostila).
MENEZES, N. N. C. Introduo programao com python. 2ed. So Paulo SP:
Novatec, 2014.
25