python: funções, módulos e a biblioteca padrão9 parâmetros com valores padrões • cada...

79
1 Python: Funções, Módulos e a Biblioteca Padrão Prof. Dr. Dilermando Piva Jr. Python Aula 04

Upload: others

Post on 04-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

1

Python: Funções, Módulos e a Biblioteca Padrão

Prof. Dr. Dilermando Piva Jr.Python Aula 04

Page 2: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

2

Comando print

Python Aula 04

Forma antiga:

Page 3: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

3

Comando print

Python Aula 04

Forma mais atual:

Page 4: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

4

Funções

...Seu programa tendo cara de programa!

Python Aula 04

Page 5: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

5

Definindo FunçõesDefinição da função inicia com “def” Nome da função Argumentos

Identação

“return” indica o retorno da função

Python Aula 04

Page 6: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

6

Definindo FunçõesDefinição da função inicia com “def” Nome da função Argumentos

Identação

“return” indica o retorno da função

Sem header fileSem declaração do tipo de retorno da função ou do tipo dos argumentos

Python Aula 04

Page 7: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

7

Chamando uma função

>>> def myfun(x, y):

return x * y

>>> myfun(3, 4)

12

• Sintaxe básica para chamar uma função:

Python Aula 04

Page 8: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

8

Passagem de parâmetros

• Várias métricas podem ser usadas na passagem dos parâmetrosde uma função:

>>> def myfun(x, y):

return x * y

>>> myfun(3, 4)

12

>>> myfun(y=3, x=4)

12

>>> myfun(3, y=4)

12

Python Aula 04

Page 9: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

9

Parâmetros com valores padrões

• Cada parâmetro pode ter um valor padrão.

• Utilizado quando um parâmetro é omitido na chamada da função

def myfun(x, y = 0.3, prompt = True):

res = x * y

if prompt:

print “Resposta é %f”, res

return res

Python Aula 04

Page 10: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

10

Parâmetros com valores padrões

def myfun(x, y = 4, prompt = True):

res = x * y

if prompt:

print “Resposta é %i”, res

return res

• Esta função pode ser invocada de várias formas:

>>> myfun(3)

Resposta é 12

12

>>> myfun(x=3, prompt = False)

12

>>> myfun(5, 2, False)

10

Python Aula 04

Page 11: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

11

Parâmetros com valores padrões

• Valores default são avaliados apenas uma vez

• Objetos mutáveis (listas, dicionários) armazenam chamadasanteriores

Python Aula 04

Page 12: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

12

Parâmetros…

Python Aula 04

Page 13: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

13

Múltiplos argumentos (args)

• Pode receber um número arbitrário de parâmetros

• *args (( entra uma tupla para dentro da função ))

Python Aula 04

Page 14: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

14

Múltiplos argumentos (args) • Pode receber um número arbitrário de parâmetros

• *args (( entra uma tupla para dentro da função ))

• Pode ocorrer também o desempacotamento automático…passando como parâmetro o *….

Python Aula 04

Page 15: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

15

Múltiplos argumentos (kwargs) • Podem receber um número arbitrário de ‘keywords’

• **kwargs

Python Aula 04

Melhorando...

Page 16: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

16

Múltiplos argumentos (kwargs) • Podem receber um número arbitrário de ‘keywords’

• **kwargs

Python Aula 04

Um exemplo mais complexo....

Page 17: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

17

Múltiplos argumentos

• Podem receber inclusive listas e dicionários.

Python Aula 04

Outro exemplo...

Atenção:

Erro!

Page 18: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

18

Valor de retorno• Toda função em Python retorna alguma valor;

• Mesmo funções que não possuem a cláusula return.

• Funções que não possuem return retornam None.

• None é uma constante especial definida na linguagem;

• Similar a NULL, void, ou nil em outras linaguagens;

• É lógicamente equivalente à False;

• O interpretador não imprime None.

Python Aula 04

Page 19: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

19

Valor de retorno• Uma função pode retornar mais de um valor

>>> 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

Page 20: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

20

Observações 1/2

• Funções podem ser utilizadas da mesma maneira queoutro tipo de dado em Python

• Elas podem ser:

- Argumentos para outras funções;

- Valores de retorno de outras funções;

- Atribuídas para outras variáveis;

- Partes de tuplas, listas, etc;

Python Aula 04

Page 21: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

21

Observações 2/2• A execução da função cria uma nova tabela de símbolos,

específica para a função.

• Variáveis declaradas dentro da função são unicamentelocais!

• São destruídas após a execução de toda a função.

• Funções tem acesso à variáveis com escopo global.

• Utilizando a cláusula global você pode acessar/modificarvariáveis globais.

Python Aula 04

Page 22: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

22

Algumas funções especiais

... e Python também tem seu momento funcional!

Python Aula 04

Page 23: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

23

Notação lambda• Funções podem ser definidas sem precisar de rótulos!

• Isto é muito útil quando você quer passar uma pequena função comoargumento para outra função

• Apenas funções simples (única expressão) podem ser definidas nessanotação.

• Notação lambda tem um histórico rico em linguagens de programaçãodesde I.A. passando por LISP, haskell...

Python Aula 04

Page 24: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

24

Notação lambda

Python Aula 04

Page 25: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

25

Notação lambda

Python Aula 04

Page 26: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

26

Notação lambda

Python Aula 04

Page 27: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

27

Funções map, reduce e filter

• Função map(func, seq)

Python Aula 04

Page 28: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

28

Funções map, reduce e filter

• Função map(func, seq)

• Função interna que aplica uma função func a cada item de um objetosequência (seq) e retorna uma lista com os resultados da chamada da

função.

Python Aula 04

Page 29: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

29

Funções map, reduce e filter• Função map(func, seq)

Python Aula 04

Page 30: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

30

Funções map, reduce e filter• Função map(func, seq)

Python Aula 04

Observação: após utilizar o objeto MAP, o resultado é zerado.

Page 31: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

31

Funções map, reduce e filter

• Função filter(func, seq)

Python Aula 04

Page 32: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

32

Funções map, reduce e filter

• Função filter(func, seq)

Python Aula 04

Page 33: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

33

Funções map, reduce e filter• Função filter(func, seq)

• Função interna que aplica uma função filtro func a cada item de umobjeto sequência (seq) e retorna uma lista com os resultados quesatisfazem os critérios da função de teste seq.

Python Aula 04

Page 34: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

34

Funções map, reduce e filter• Função filter(func, seq)

• Exemplo de utilização→ remoção de dados faltantes

Python Aula 04

Page 35: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

35

Funções map, reduce e filter• Função filter(func, seq)

• Outro exemplo mais complexo….

Python Aula 04

Page 36: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

36

Funções map, reduce e filter

• Combinando MAP com FILTER

Python Aula 04

Page 37: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

37

Funções map, reduce e filter

•Função reduce(func, seq)

•Função que aplica a função sobre o valor corrente retornado pela função(func) junto com o próximo item da lista. Import de functools

Python Aula 04

Page 38: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

38

Funções map, reduce e filter•Função reduce(func, seq)

Python Aula 04

Page 39: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

39

Funções map, reduce e filter•Função reduce(func, seq)

Python Aula 04

Page 40: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

40

Funções map, reduce e filter•Função reduce(func, seq)

Python Aula 04

Page 41: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

41

Funções Any e All

Python Aula 04

all()

any()

Page 42: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

42

Função sorted()

Python Aula 04

Trabalha igual ao sort() para listas...Entretanto, atua sobre qualque iterável... Inclusive listas.Não altera a original. Cria uma nova!

Page 43: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

43

Função zip

Python Aula 04

Page 44: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

44

Funções geradoras e iteradores

• Função enumerate

- Função que gera uma tupla (índice, item da tupla) que ajuda na manipulação desequências e dicionários.

• Função yield value

- Função interna poderosa para gerar valores a medida que for chamada.

• Função iter(sequencia/dicionario)

- Função para produzir objetos iteradores em resposta à função interna iter.

Python Aula 04

Page 45: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

45

List Comprehension

Python Aula 04

Page 46: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

46

List Comprehension

Python Aula 04

Page 47: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

47

List Comprehension

Python Aula 04

Page 48: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

48

Generators

Python Aula 04

Page 49: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

49

Generators

Python Aula 04

Page 50: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

50

Generators

Python Aula 04

Page 51: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

51

Generators

Python Aula 04

Page 52: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

52

Módulos

... Módulos: o que é, como criar e como utilizar.

Python Aula 04

Page 53: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

53

Introdução 1/2

• Quando você encerra o interpretador, todas as definições devariáveis e funções são perdidas;

• Solução é gerar um script e roda-lo.

• Mas e se você desejar utilizar um determinada função do scriptem outro programa?

Solução são os módulos!

Python Aula 04

Page 54: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

54

Introdução 2/2• Um módulo é um arquivo .py contendo definições e comandos

Python:

- Funções

- Variáveis e constantes

- Classes

- ...

• Vantagem é a possibilidade de adicionar todas estas definiçõesem outros arquivos ou módulos.

• Isto é feito utilizando a cláusula import

Python Aula 04

Page 55: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

55

Executando módulos como scripts

• Rodar um módulo Python é similar a importar as definições domódulo para o interpretador.

• Se você fizer python meuModulo.py irá carregar as definições e destruir logo

em seguida!

• Para executar algum determinado código de maneira similar àum script você deve testar a cláusula __name__ :

if __name__ == “__main__”:

print “Execute algum código”

Python Aula 04

Page 56: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

56

Pacotes• Pacotes são coleções de módulos Python.

• Qualquer diretório do sistema operacional que contém um arquivo__init__.py dentro é considerado um pacote.

• Pacotes organizam módulos e permitem que programadores importemmódulos da seguinte maneira:

• import meuPacote.meuSubPacote.meuModulo

# meuPacote/

# __init__.py -- vazio

# meuSubPacote/

# __init__.py -- vazio

# meuModulo.py -- modulo importado

Python Aula 04

Page 57: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

57

Pacotes (2)• Python dá suporte à hierarquia de pacotes onde

podemos ter uma árvore de pacotes separadaspor pastas

• O arquivo __init__.py é quem caracteriza umpacote

Python Aula 04

Page 58: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

58

Pacotes (3)• O comando from <modulo> import * não funciona por default

• Deve-se adicionar o atributo __all__ dentro do arquivo __init__.py dopacote

Python Aula 04

Page 59: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

59

Caminho de busca dos módulos• Quando você executa import meuModulo o interpretador

procura pelo arquivo meuModulo.py seguindo umadeterminada regra.

- Primeiramente ele procura pelo arquivo no diretório corrente (onde o interpretadorfoi executado).

- Caso ele não encontre o arquivo no diretório corrente, a busca prossegue em umalista de diretórios que é especificada na variável sys.path

• Você pode atribuir novos diretórios de busca na variávelsys.path (ela é uma lista dentro do módulo sys da bibliotecapadrão)

Python Aula 04

Page 60: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

60

Compilando um módulo Python

... Compilando??? Como assim??? Python não é interpretado???

Python Aula 04

?

Page 61: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

61

Compilando um módulo Python

• Sim, Python é e continua sendo interpretada!

- Python utiliza o conceito de byte-code (muito conhecido em Java).

• O que acontece quando você importa um módulo:

1) - Interpretador busca pelo arquivo .py correspondente;

2) - Arquivo .py é “compilado” para o byte-code reconhecido pelo interpretador;

3) - Byte-Code é incorporado a tabela de símbolos correntes do interpretador.

Python Aula 04

Page 62: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

62

Compilando um módulo Python

• Compilação para byte-code pode ser um gargalo dedesempenho quando você carregar um programa!

- Especialmente se você utiliza muitos módulos em seu programa.

• Solução é pré-compilar os módulos antes de rodar seuprograma!

Python Aula 04

Page 63: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

63

Como compilar

• Nas novas versões da linguagem a pré-compilagem é realizadaautomaticamente.

- Interpretador também controla as modificações nos módulos e reproduz as mesmasno byte-code.

• Algumas dicas de otimização:

- Invoque o interpretador com a opção -O. Isto gera código mais otimizado;

- Otimizações realizadas pela pré-compilagem e pelo -O influenciam somente avelocidade em que os módulos são carregados e não executados;

- Você pode rodar só a versão ótimizada de seu módulo (.pyc) sem a necessidade dedo arquivo .py original.

Python Aula 04

Page 64: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

64

Como compilar

Python Aula 04

Page 65: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

65

Módulos da biblioteca padrão

... O poder de python agora!

Python Aula 04

Page 66: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

66

Módulo math• Disponibiliza uma série de funções e constantes matemáticas

que auxiliam na criação de aplicações científicas.

math.sqrt(numero): Retorna a raiz quadrada do número;

math.cos(numero): Retorna o cosseno do número em radiano;

maht.sin(numero): Retorna o seno do número em radiano;

math.tan(numero): Retorna a tangente do número em radiano;

math.radians(numero): Converte o angulo ‘numero’ de graus para radiano;

math.hypot(x, y): Retorna a hipotenusa dos números (catetos) fornecidos;

math.pi: Constante que represente o número pi (3.141592...).

Python Aula 04

The Python Standard Python Library - math

http://docs.python.org/library/math.html

Page 67: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

67

Outros módulos numéricos e matemáticos

numbers: manipulação de dados numéricos

http://docs.python.org/library/numbers.html

cmath - Funções matemáticas para números complexos

http://docs.python.org/library/cmath.html

random - Geração de números randomicos

http://docs.python.org/library/random.html

Python Aula 04

Page 68: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

68

Módulo sys• Funções/constantes que acessam e manipulam o interpretador.

sys.argv: Lista que contém os argumento passados por parâmetro em um script;

sys.path: Lista com os diretórios de busca do interpretador;

sys.platform: Retorna a plataforma em que o interpretador está rodando;

sys.stdin: Manipulação do stream de entrada;

sys.stdout: Manipulação do stream de saída;

sys.stderr: Manipulação do stream de erro;

Python Aula 04

The Python Standard Python Library - sys

http://docs.python.org/library/sys.html

Page 69: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

69

Módulo sys

Python Aula 04

Page 70: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

70

Módulo os• Interface para operações com o sistema operacional

os.open(filename, mode): Abre um arquivo do sistema de arquivos;

os.read(file, buffersize): Lê uma determinada fração de um arquivo aberto;

os.write(file, string): Escreve uma determinada string em um arquivo aberto;

os.chmod(file, mode): Altera as permissões de um arquivo;

os.chdir(path): Altera o diretório de trabalho corrente;

os.getenv(key): Retorna uma determinada variável de ambiente do SO;

os.getlogin(): Retorna o login do usuário que está rodando o interpretador;

os.kill(pid): Mata um determinado processo do SO.

Python Aula 04

The Python Standard Python Library - os

http://docs.python.org/library/os.html

Page 71: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

71

Módulo re• Módulo responsável pela criação e manipulação de expressões

regulares

• Expressões Regulares é uma forma avançada de mexer comstrings

• Permite que você crie condições para que um trecho sejaencontrado, substituído ou tratado de alguma forma

Python Aula 04

Page 72: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

72

Módulo re• Usa-se raw string (string cruas) r “”

• Podemos definir repetição, ocorrência

• Há duas formas de usar:

• Definindo um objeto expressão regular, compilando uma stringde definição

• Usando um comando re passando como argumento uma stringdefinindo uma regexp

Python Aula 04

Page 73: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

73

Módulo re• Define-se uma expressão regular e a compila usando o

comando compile

• Pode-se usar expressões comentadas para auxiliar oentendimento do funcionamento da regexp

Python Aula 04

Page 74: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

74

Outros MódulosData Compression - zlib, gzip, bz2, zipfile, tarfile

http://docs.python.org/library/archiving.html

Criptografia - hashlib, hmac, mds, sha

http://docs.python.org/library/crypto.html

Linguagens de marcação - sgmlib, htmllib, xml

http://docs.python.org/library/markup.html

Internet - webbrowser, cgi, httplib, ftplib, poplib, smtplib, SocketServer

http://docs.python.org/library/internet.html

Python Aula 04

Page 75: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

75

Outros MódulosMultimedia- audioop, imageop, wave

http://docs.python.org/library/mm.html

Internacionalização - gettext, locale

http://docs.python.org/library/i18n.html

Interface Gráfica - Tkinter (TCL/TK)

http://docs.python.org/library/tk.html

Desenvolvimento - pydoc, doctest, unittest

http://docs.python.org/library/development.html

Debug - bdb, pdb

http://docs.python.org/library/debug.html

Python Aula 04

Page 76: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

76

Outros MódulosDate e Horário- date, time, datetime, timedelta, tzinfo, timezone

http://docs.python.org/library/datetime.html

Tempo – time.asctime([t]), time.clock(), time.localtime([secs])

http://docs.python.org/library/time.html

Calendário- calendar.iterweekdays(), …

http://docs.python.org/library/calendar.html

Python Aula 04

Page 77: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

77

Adicional

Python Aula 04

Page 78: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

78

Tratamento de Erros…

Python Aula 04

try:...

except:...

Page 79: Python: Funções, Módulos e a Biblioteca Padrão9 Parâmetros com valores padrões • Cada parâmetro pode ter um valor padrão. • Utilizado quando um parâmetro é omitido na

79

Tratamento de Erros…

Python Aula 04

try:...

except:...

Else:...Finally:...