Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Python 06 Funcao, Slides de Engenharia de Materiais

Série de slides ensinando a sintaxe da linguagem computacional Python. Por Paulo Esperança, adaptado por Rodrigo Toledo.

Tipologia: Slides

2011

Compartilhado em 23/09/2011

rafael-pinto-24
rafael-pinto-24 🇧🇷

4.3

(6)

8 documentos

1 / 26

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Python:
Python:
Funções
Funções
Rodrigo de Toledo
OBS: Este ppt não é o definitivo (Versão Beta)
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Pré-visualização parcial do texto

Baixe Python 06 Funcao e outras Slides em PDF para Engenharia de Materiais, somente na Docsity!

Python:Python:

Funções Funções

Rodrigo de Toledo

OBS: Este ppt não é o definitivo (Versão Beta)

Evitando repetiçõesEvitando repetições

 (^) Em computação sempre queremos evitar repetições.  (^) Toda vez que fazemos copy&paste de algum código, é provável que estejamos programando mal.  (^) Várias linguagens de programação incluem o conceito de subprograma (ou subrotina)  (^) Atribui-se um nome à uma seqüência de comandos, e faz-se referência a este nome nos vários lugares do programa onde a seqüência em questão deveria ser repetida.  (^) Em Python, sub-programas têm o nome de funções  (^) Formato geral: def nome ( arg , arg , ... arg ): comando

... comando

Retornando um valorRetornando um valor

 Uma função pode retornar um valor. Exemplo:

 (^) def menu(): print "(a)xxxx\n(b)yyyy\n(c)wwww\n(d)zzzz\n(e)Sair“ letra = raw_input("Entre com a opcao: ") while letra < “a” or letra > “e”: print “Opcao invalida!” letra = raw_input("Entre com a opcao novamente: ") return letra opcao = menu() while opcao != "e": ... opcao = menu()

 Observar:

 (^) Comando return  (^) A função tem que ser definida antes de ser usada  (^) Por exemplo, digitada no alto do arquivo .py

Vantagens de evitar repetiçõesVantagens de evitar repetições

 Menos trabalho

 Mais legível

 Dividir grandes tarefas de computação em tarefas

menores

 permite pensar num problema em diversos níveis

 modularização

 Menos chances de bugs

 Facilita a manutenção

 Código menor

Resultado de funçõesResultado de funções

 Uma função tipicamente computa um ou mais valores

 Para indicar o valor a ser devolvido como o resultado da

função, usa-se o comando return, que tem o formato

return expressão  (^) onde a expressão é opcional e designa o valor a ser retornado

 Ao encontrar o comando return, a função termina

imediatamente e o controle do programa volta ao ponto

onde a função foi chamada

 (^) observe que pode haver mais de um return dentro da função

 Se uma função chega a seu fim sem nenhum valor de

retorno ter sido especificado, o valor de retorno é None

ExemploExemplo

def f(): return print f() None def f(): return "Oi" print f() Oi def f(nome): return "Oi, " + nome + "!" print f("Joao") Oi, Joao!

ExemploExemplo

>>> def quadrado(x):

return x*x

>>> print quadrado(10)

>>> print x

NameError: name 'x' is not defined

>>> print quadrado()

TypeError: quadrado() takes exactly 1 argument

(0 given)

Função chamando funçãoFunção chamando função

 (^) Uma função pode ser chamada por outra função, e assim por diante. Ou seja, existe uma pilha de chamadas de função ( call stack ).  (^) Altere a função menu para que permita que o usuário entre com minúsculas ou maiúsculas  (^) def minusc(letrinha): if “A” <= letrinha <= “Z”: return letrinha–“A”+“a” return letrinha  (^) def menu(): print "(a)xxxx\n(b)yyyy\n(c)wwww\n(d)zzzz\n(e)Sair“ letra = minusc(raw_input("Entre com a opcao: ")) while letra < “a” or letra > “e”: print “Opcao invalida!” letra = minusc(raw_input("Entre com a opcao novamente: ")) return letra

Alterando parâmetrosAlterando parâmetros

 É possível alterar parâmetros?

 (^) Sim e não  (^) Como o parâmetro é uma variável local, ele pode ser alterado sem problemas  (^) Entretanto, se um parâmetro recebe um valor que vem de uma variável, esta não é alterada

 Ex.:

def quadrado(x): x = x*x return x x = 10 print quadrado(x) 100 print x 10

Alterando parâmetrosAlterando parâmetros

(alterando conteúdo de listas) (alterando conteúdo de listas)

 (^) Note que quando passamos uma variável do tipo lista como parâmetro, estamos passando uma referência para um valor do tipo lista

 Nesse caso, alterar o parâmetro pode influenciar no

“valor” do conteúdo da lista

 Exempo:

>>> def f(x):

x[:] = [5]

>>> a = [1,2,3]

>>> f(a)

>>> a

[5]

ObservaçõesObservações

 (^) A declaração da função deve ser feita antes da sua chamada na outra função para que o Python reconheça o seu nome.  (^) Os valores passados como parâmetros na função chamadora, serão recebidos pela função chamada exatamente na mesma ordem.  (^) Uma função pode chamar a si própria, isso é chamado de função recursiva. Cada vez que a função é chamada, uma nova instância de suas variáveis e parâmetros é criada.  (^) Não pode haver funções e variáveis com o mesmo nome!

ExercícioExercício

 (^) Altere programas que usavam menu para que sejam usados com função!  (^) Exercícios já passados com menu:  (^) Hortifruti (esse é o mais interessante para treinar)  (^) Farmácia  (^) Alunos de Python  (^) UPA (esse tem na página)  (^) Hotel (P2 2010.2)  (^) Faça uma função para receber a opção do usuário  (^) Atenção : para cada opção, faça uma função diferente, passando os parâmetros necessários  (^) Exemplo:  (^) opcao = menu() while opcao != “e”: if opcao == “a”: incluir(alunos) elif opcao == “b”: excluir(alunos) ...

importimport

(módulos) (módulos)

Módulos?Módulos?

 (^) Você viu como reutilizar código através do uso de funções. Como fazer para usar suas funções em outros programas que você escrever?  (^) Resposta: Módulos  (^) Um módulo basicamente é um arquivo contendo funções e variáveis que você definiu. Para reutilizar o módulo em outros programas o arquivo deve ter uma extensão .py.  (^) Um módulo pode ser importado por outro programa para que este possa fazer uso da sua funcionalidade.  (^) Python fornece uma biblioteca padrão com inúmeras funções em diversos módulos já preparadas para uso.