Escolar Documentos
Profissional Documentos
Cultura Documentos
Python
Sumrio
1 Introduo . . . . . . . . . . . .
2 Python . . . . . . . . . . . . . .
2.1 O interpretador . . . . . . .
2.2 Orientada a objetos . . . . .
2.3 Tipagem dinmica . . . . . . .
3 Blocos controlados por indentao
4 Operadores . . . . . . . . . . . .
4.1 Operadores aritmticos . . . .
4.2 Operadores de atribuio . . .
4.3 Operadores de condio . . . .
4.4 Operadores lgicos . . . . . .
5 Condio e lao . . . . . . . . .
5.1 Instruo if . . . . . . . . .
5.2 Instruo while . . . . . . .
5.3 Instruo for . . . . . . . .
6 Tipos de dados . . . . . . . . . .
6.1 Strings . . . . . . . . . . .
6.2 Listas . . . . . . . . . . . .
6.3 Tuplas . . . . . . . . . . . .
6.4 Dicionrios . . . . . . . . .
7 Docstrings . . . . . . . . . . . .
8 O operador % . . . . . . . . . . .
9 Funes . . . . . . . . . . . . .
9.1 Argumentos default . . . . . .
9.2 Funes pr-definidas . . . .
10 Mdulos . . . . . . . . . . . . .
11 Classes e instncias . . . . . . .
12 Herana . . . . . . . . . . . . .
13 Erros de sintaxe e excees . . .
14 Manipulao de arquivos . . . . .
14.1 Mtodos do objeto arquivo . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
p.
02
03
03
03
04
05
06
06
06
06
06
08
08
08
09
10
10
10
11
11
14
15
16
16
17
20
21
23
24
26
26
1 Introduo
Este tutorial foi elaborado visando esclarecer, aos leigos em
Python, mas com conhecimento em linguagens de programao,
conceitos bsicos da linguagem, onde o leitor vai entender a sua
sintaxe e suas particularidades.
O tutorial est voltado a explicaes objetivas sobre os
componentes Python, bem como a simples exemplos com base na verso
Python 2.5.
02
2 Python
Talvez voc associe o nome ao rptil Pton, ento estar enganado,
pois a linguagem foi nomeada com base no britnico grupo
humorstico Monty Python, o qual criou o programa Monty Python's
Flying Circus.
Python uma linguagem de programao free, moderna, simples,
dinmica e orientada a objetos, alm de ser voltada a um estilo de
linguagem informal, portanto de fcil aprendizado.
Assim, voc deve concluir que Python tem diversas caractersticas.
A linguagem Python marca registrada do Stichting Mathematisch
Centrum de Amsterdam.
2.1 O interpretador
04
05
4 Operadores
4.1 Operadores aritmticos
+
*
/
%
**
=
=
=
=
=
=
adio
subtrao
multiplicao
diviso
mdulo
exponenciao
+=
-+
/=
*=
=
=
=
=
incrementao
decrementao
divide pelo valor atribudo
multiplica pelo valor atribudo
== = igualdade
!= = diferente
> = maior
< = menor
>= = maior ou igual
<= = menor ou igual
in = este operador utilizado em seqncias ou dicionrios para
verificar a presena de um elemento.
>>> 5 in (2,3,5)
True
>>> "m" in "Jorge"
False
06
and = e
or = ou
not = no
Obs.: Em Python, a sintaxe a seguir vlida:
>>> if 0<x<10:
print x
07
5 Condio e lao
Assim como nas outras linguagens, Python possui estruturas de
controle de fluxo (condio e lao) tambm, porm com algumas
variaes.
5.1 Instruo If
08
6
7
8
9
rosa
azul
amarelo
verde
6 Tipos de dados
6.1 Strings
6.2 Listas
lista = [1,"um",1.0]
lista.insert(3,"hum")
print lista
'um', 1.0, 'hum']
Uma varivel chamada lista retorna uma lista com um valor inteiro,
uma string e uma valor float. Em seguida, foi inserida no final da
lista ( o nmero '3' indica a posio trs comeando do zero) uma
outra string.
Listas possuem alguns mtodos:
append() - adiciona um elemento ao fim da lista.
count() - retorna o nmero de vezes que um determinado elemento
aparece na lista.
extend() - estende a lista com novos elementos passados.
index() - retorna o ndice (ou posio) de um determinado elemento
da lista.
insert() - insere um determinado elemento numa especificada
posio.
pop() - remove o elemento da posio indicada e o retorna.
remove() - remove o primeiro elemento da lista.
reverse() - inverte a ordem dos elementos da lista.
sort() - ordena os elementos da lista.
>>> l = [10,56,32,89,25,14]
10
>>> l.append(90)
>>> l
[10, 56, 32, 89, 25,
>>> l.insert(3,50)
>>> l
[10, 56, 32, 50, 89,
>>> l.pop(7)
90
>>> l
[10, 56, 32, 50, 89,
>>> l.index(89)
4
>>> a = [15,90,68]
>>> a.extend(l)
>>> a
[15, 90, 68, 10, 56,
>>> a.sort()
>>> a
[10, 14, 15, 25, 32,
14, 90]
25, 14, 90]
25, 14]
6.3 Tuplas
6.4 Dicionrios
>>>
>>>
>>>
>>>
{1:
13
7 Docstrings
Como o nome sugere, so strings que servem para documentar cdigo
sem o uso de ferramentas externas. Basta criar a string entre
seqncias de trs aspas.
Porm, possvel usar ferramentas externas tambm.
>>> def my_function():
"""
Author : Marcelo Braga
Date
: 15/06/2001
Version: 0.1
"""
print "Minha funo"
14
8 O operador %
Esse operador muito til para processamento de texto.
Existem trs:
%s substitui strings
%d substitui inteiros
%f substitui floats
>>> nome = "Eliane"
>>> print "Meu nome %s" % nome
Meu nome Eliane
>>> numInt = 19
>>> print "Eu tenho %d anos" % numInt
Eu tenho 19 anos
>>> numFloat = 1.60
>>> print "Altura: %.2f m" % numFloat
Altura: 1.60 m
>>> numFloat = 54.80
>>> print "Peso: %10.1f kg" % numFloat
Peso:
54.8 kg
Obs.: %.2f corresponde a duas casas decimais e %10.1, a dez
espaos, uma casa decimal.
15
9 Funes
Funes so blocos de cdigos que recebem parmetros e retornam um
resultado.
Alm de funes, existem os procedimentos, que em Python, a nica
diferena entre os dois : funes retornam valores e
procedimentos no. Procedimentos, portanto, podem ser considerados
tipos especiais de funes.
Existem dois tipos de funes: definidas pelo usurio e prdefinidas.
Para definir uma funo basta usar o comando def seguido de um
nome, parnteses e dois pontos.
>>> def meunome(nome):
print "Meu nome %s" % nome
>>> meunome('Daniela')
Meu nome Daniela
>>>
Primeiro, criamos a funo que se chamou "meunome", ela recebeu um
parmetro, "nome". Depois invocamos a funo e passamos um valor
(argumento), "Daniela. E por fim, a funo nos retornou a
mensagem dizendo o nome.
Voc tambm pode definir mais de um parmetro, para isso, basta
usar a declarao return.
>>> def operacoes(a,b):
soma = a+b
multiplica = a*b
return soma,multiplica
>>> operacoes(4,5)
(9, 20)
17
chr(65)
chr(97)
chr(98)
chr(35)
>>> min('a',6)
6
>>> min('a','A')
'A'
>>> min(5.13,8)
5.1299999999999999
>>> min(0.5,'a')
0.5
max(a,b) recebe dois valores de qualquer tipo
entre eles.
e retorna o maior
>>> max('a','B')
'a'
>>> max('f',56)
'f'
>>> max(72.5,'H')
'H'
abs(num) recebe um nmero e retorna seu valor absoluto.
>>> abs(32.5322656)
32.532265600000002
>>> abs(13)
13
hex(numInt) recebe um inteiro e retorna uma string contendo a
representao em hexadecimal.
>>> hex(12)
'0xc'
>>> hex(10)
'0xa'
>>> hex(0)
'0x0'
oct(numInt) recebe um inteiro e retorna uma string contendo a
representao em octal.
>>> oct(7)
'07'
>>> oct(8)
'010'
>>> oct(15)
'017'
>>> oct(16)
'020'
19
10 Mdulos
Mdulos so colees de funes, uma forma inteligente de
organizar e acessar cdigo (funes) a ser reutilizado. Para uslos basta import-los, assim, o import localiza o mdulo desejado,
carrega suas funes e, finalmente, so executados os comandos de
inicializao do mdulo.
Mdulos podem ser importados por outros mdulos.
Python tem um grande nmero de mdulos. Por exemplo, o mdulo
calendar que retorna o calendrio do ano e ms desejados.
>>> import calendar
>>> calendar.prmonth(2003,2)
February 2003
Mo Tu We Th Fr Sa Su
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28
Outros mdulos: sys, math, random, getopt, os.path, time, so
alguns dos mdulos que Python oferece.
Alm desses mdulos instalados com o interpretador Python,
existem, tambm, mdulos independentes, tais como: win32pipe,
HTMLgen, mx, PIL, etc.
20
11 Classes e instncias
Como em Python tudo objeto, no seria muito apropriado (embora
no seja errado) chamarmos classes de objetos, mas sim de
instncias que, por sua vez, no deixam de ser objetos criados a
partir de uma classe definida. Assim, classes so objetos
(instncias) diferentes dos demais. Quando cria uma instncia,
voc est encapsulando nela os elementos de uma classe.
Para entendermos melhor o que uma classe em programao,
compare-a a uma receita de bolo ou de qualquer outra coisa. A
receita te ensina a fazer o bolo, pois nela voc encontra os
ingredientes que ir precisar, as medidas e o modo de preparo.
Porm, ter a receita sem fazer o bolo no o suficiente. Ento,
voc precisa arregaar as mangas e mos obra!
Com a criao de uma instncia (objeto), voc atribui a ela
propriedades e mtodos de uma classe, assim como atribui ao bolo
tudo que contem a receita, ingredientes e modos de prepar-lo.
Para concluirmos, a classe seria a receita e a instncia, o bolo.
>>> class Notas:
def Media( self,lista ):
soma= 0
for t in lista:
soma += t
print soma / len( lista )
a =Notas()
>>> a.Media((10.0,7.5,6.5))
8.0
Criamos uma classe chamada Notas que contm uma funo. Em
seguida, invocamos a classe por meio da instncia criada, a, e
ainda invocamos a nica funo Media() passando os argumentos
requeridos e, por fim, nos retornou um valor.
Existem alguns mtodos em classes, entre eles:
__init__ - o mtodo opcional construtor, invocado quando uma
instncia criada;
__del__ - invocado quando uma classe ser destruda;
21
22
12 Herana
Herana um mecanismo de reutilizao de todos os elementos de
uma classe j existente em uma nova. Nesse caso, a classe herdada
pode ser chamada de classe pai.
Voc, ainda, pode modificar a classe pai na classe filho sem
interferir no lugar onde ela (a classe pai) foi criada, alm disso
ainda pode estender a classe filha com propriedades e mtodos
exclusivos, ou seja, que no existem na classe pai.
23
25
14 Manipulao de arquivos
Em Python, assim como em outras linguagens, possvel manipular
arquivos. Desse modo, o usurio consegue abrir, ler, alterar,
gravar e fechar um arquivo.
Tudo o que voc precisa para manipular, corretamente, um arquivo
conhecer os mtodos responsveis por cada coisa.
A funo open() retorna um objeto arquivo, em outras palavras,
abre o arquivo que voc especificar.
>>> arq = open('C:\hoje.txt')
Voc, ainda, tem a opo de passar como parmetro o modo como vai
abrir o arquivo. Caso passe um r, seu arquivo ser somente de
leitura; se passar a, poder adicionar contedo ao final do
arquivo; caso passe w, o arquivo ser apagado e aberto para
escrita, no entanto, se ele no existir ser automaticamente
criado, etc.
Caso o usurio no passe o segundo parmetro, Python assume o r.
>>> t = open('C:\meuarquivo.txt','w')
>>> print a
<open file 'C:\meuarquivo.txt', mode 'w' at 0x00A85A40>
>>> arq.seek(0)
tell() - retorna a posio, atual, do cursor no arquivo.
>>> arq.tell()
Close() - fecha o arquivo.
>>> t.close()
27