Beruflich Dokumente
Kultur Dokumente
Comando print
Python Aula 04
Comando print
Python Aula 04
Funes
...Seu programa tendo cara de programa!
Python Aula 04
Definindo Funes
Definio da funo inicia com def
Python Aula 04
Definindo Funes
Definio da funo inicia com def Nome da funo
Python Aula 04
Definindo Funes
Definio da funo inicia com def Nome da funo Argumentos
Python Aula 04
Definindo Funes
Definio da funo inicia com def Nome da funo Argumentos Identao
Python Aula 04
Definindo Funes
Definio da funo inicia com def Nome da funo Argumentos Identao
Python Aula 04
Definindo Funes
Definio da funo inicia com def Nome da funo Argumentos Identao
10
Python Aula 04
11
Passagem de parmetros
>>> def myfun(x, y): return x * y >>> myfun(3, 4) 12 >>> myfun(y=3, x=4) 12 >>> myfun(3, y=4) 12
Vrias mtricas podem ser usadas na passagem dos parmetros de uma funo:
Python Aula 04
12
def myfun(x, y = 0.3, prompt = True): res = x * y if prompt: print Resposta %f, res return res
Python Aula 04
13
>>> myfun(3) Resposta 12 12 >>> myfun(x=3, prompt = False) 12 >>> myfun(5, 2, False) 10
Python Aula 04
14
dicionrios)
armazenam
Python Aula 04
15
Mltiplos argumentos
Python Aula 04
16
Mltiplos argumentos
Python Aula 04
17
Valor de retorno
Python Aula 04
18
Valor de retorno
>>> def teste(): x=1 y=2 z=3 return x, y, z >>> x, y, z = teste() >>> ret = teste() >>> ret (1, 2, 3)
Python Aula 04
19
Observaes 1/2
Funes podem ser utilizadas da mesma maneira que outro tipo de dado em Python Elas podem ser:
Argumentos para outras funes; Valores de retorno de outras funes;
...
Python Aula 04
20
Observaes 2/2
A execuo da funo cria uma nova tabela de smbolos, especfica para a funo.
Variveis declaradas dentro da funo so unicamente locais! So destrudas aps a execuo de toda a funo.
Python Aula 04
21
Exerccio 01
Python Aula 04
22
Python Aula 04
23
Notao lambda
Funes podem ser definidas sem precisar de rtulos!
Isto muito til quando voc quer passar uma pequena funo como argumento para outra funo Apenas funes simples (nica expresso) podem ser definidas nessa notao.
Notao lambda tem um histrico rico em linguagens de programao desde I.A. passando por LISP, haskell...
Python Aula 04
24
Notao lambda
Python Aula 04
25
Python Aula 04
26
Python Aula 04
27
Python Aula 04
28
Funo enumerate
Funo que gera uma tupla (ndice, item da tupla) que ajuda na manipulao de sequncias e dicionrios.
Funo iter(sequencia/dicionario)
Funo para produzir objetos iteradores em resposta funo interna iter.
Python Aula 04
29
Exerccio 02
Dado um conjunto de palavras [fita, Adenilton, armario, gaveta, Bruna, adentro, folga, impressora]. Montar um filtro que remova todas as palavras que comecem com A ou a.
Calcule o quadrado dos nmeros pares entre o intervalo de 0 a 10.
Python Aula 04
30
Mdulos
... Mdulos: o que , como criar e como utilizar.
Python Aula 04
31
Introduo 1/2
Python Aula 04
32
Introduo 2/2
Um mdulo um arquivo .py contendo definies e comandos Python:
Funes Variveis e constantes Classes
...
Python Aula 04
33
Para executar algum determinado cdigo de maneira similar um script voc deve testar a clusula __name__ :
if __name__ == __main__: print Execute algum cdigo
Python Aula 04
34
Pacotes
Pacotes organizam mdulos e permitem que programadores importem mdulos da seguinte maneira:
import meuPacote.meuSubPacote.meuModulo
# meuPacote/ # __init__.py -- vazio # meuSubPacote/ # __init__.py -- vazio # meuModulo.py -- modulo importado
Python Aula 04
35
Pacotes (2)
Python d suporte hierarquia de pacotes onde podemos ter uma rvore de pacotes separadas por pastas
36
Pacotes (3)
O comando from <modulo> import * no funciona por default Deve-se adicionar o atributo __all__ dentro do arquivo __init__.py do pacote
Python Aula 04
37
Caminho de busca dos mdulos Quando voc executa import meuModulo o interpretador
procura pelo arquivo meuModulo.py seguindo uma determinada regra.
Primeiramente ele procura pelo arquivo no diretrio corrente (onde o interpretador foi executado). Caso ele no encontre o arquivo no diretrio corrente, a busca prossegue em uma lista de diretrios que especificada na varivel sys.path
Voc pode atribuir novos diretrios de busca na varivel sys.path (ela uma lista dentro do mdulo sys da biblioteca padro)
Python Aula 04
38
Exerccio 03
Python Aula 04
39
Python Aula 04
40
Python Aula 04
41
Compilao para byte-code pode ser um gargalo de desempenho quando voc carregar um programa!
Especialmente se voc utiliza muitos mdulos em seu programa.
Python Aula 04
42
Como compilar
Python Aula 04
43
Como compilar
Python Aula 04
44
Python Aula 04
45
Mdulo math
Disponibiliza uma srie de funes e constantes matemticas que auxiliam na criao de aplicaes cientficas.
math.sqrt(numero): Retorna a raiz quadrada do nmero;
46
Referncias - math
The Python Standard Python Library - math
http://docs.python.org/library/math.html
Python Aula 04
47
Python Aula 04
48
Mdulo sys
Funes/constantes interpretador. que acessam e manipulam o
sys.argv: Lista que contm os argumento passados por parmetro em um script; sys.path: Lista com os diretrios de busca do interpretador;
Python Aula 04
49
Mdulo sys
Python Aula 04
50
Referncias - sys
The Python Standard Python Library - sys
http://docs.python.org/library/sys.html
Python Aula 04
51
Mdulo os
Interface para operaes com o sistema operacional
os.open(filename, mode): Abre um arquivo do sistema de arquivos;
Python Aula 04
52
Referncias - os
The Python Standard Python Library - os
http://docs.python.org/library/os.html
Python: module os
http://pydoc.org/1.6/os.html
Python Aula 04
53
Mdulo re
Mdulo responsvel pela criao e manipulao de expresses regulares
Expresses Regulares uma forma avanada de mexer com strings
Permite que voc crie condies para que um trecho seja encontrado, substitudo ou tratado de alguma forma
Python Aula 04
54
Mdulo re
Usa-se raw string (string cruas) r
Python Aula 04
55
Mdulo re
Python Aula 04
56
Outros Mdulos
Data Compression - zlib, gzip, bz2, zipfile, tarfile
http://docs.python.org/library/archiving.html
Python Aula 04
57
Outros Mdulos
Multimedia- audioop, imageop, wave
http://docs.python.org/library/mm.html
Python Aula 04
58
Python Aula 04
59
Exerccio 04
Modifique o programa de cpia de arquivos da aula 03 para receber o nome dos arquivos de origem e destino pela linha de comando.
Python Aula 04
60
Exerccio 05
Python Aula 04
61
Exerccio 06
Python Aula 04
62
Adicional
Python Aula 04
63
Referncias
Python Aula 04
64
65