PythonAula 1715/09/20261h34
Funções: declaração, parâmetros e return
Retoma for com range(), input() com int(), lista e print() das aulas de repetição e DudaBet. Introduz função como combinado com Python, com declaração por def, invocação com (), return com None e parâmetro para trazer valor de fora. Destrava nomear lógica, reutilizar sem repetir código e devolver nome, sobrenome e idade juntos em lista.
O que foi falado
O que é função e biblioteca padrão
00:14:24Uma função reúne instruções sob um nome e executa seu corpo quando é chamada. print(), len() e input() são funções embutidas, disponíveis sem importação. math e random são módulos da biblioteca padrão que a aula importa antes de usar pelo nome.
Declarar com
00:22:59defe invocar com()Declaração usa
def, nome da função, parênteses,:e bloco indentado com o que fazer. Invocação é nome mais()e só funciona depois de declarar. Executar, disparar, invocar e chamar são o mesmo ato de rodar o combinado.def mostra_67(): print(6) print(7) mostra_67()Saída
6 7
Reutilizar função com
00:29:27forerange()Lógica declarada uma vez pode ser invocada várias vezes sem copiar código. Dá para chamar dentro de
forcomrange()para repetir 10 vezes, por exemplo de 0 até 9. Mudar num só lugar muda em todo ponto onde a função é usada.def mostra_67(): print(6) print(7) for i in range(3): mostra_67()Saída
6 7 6 7 6 7
00:50:21print()não éreturne semreturnvemNoneprint() mostra uma informação, enquanto return entrega o resultado a quem chamou a função. Uma função que termina sem return com valor devolve None, assim como print(). O retorno pode ser guardado numa variável ou usado diretamente em outra expressão, como print(dobra(3)).
def mostra_5(): print(5) resultado = mostra_5() print(resultado)Saída
5 None
01:03:52returndevolve um valor e lista agrupa váriosreturn encerra a execução da função e devolve um objeto. Na aula, nome, sobrenome e idade são reunidos em uma lista para viajar juntos nesse retorno. A lista é uma opção para agrupar os dados, não uma exigência geral de toda função. Quem chama pode guardar o resultado ou utilizá-lo imediatamente em outra operação.
def monta_pessoa(): return ["Ada", "Lovelace", 36] pessoa = monta_pessoa() print(pessoa)Saída
['Ada', 'Lovelace', 36]
Parâmetros trazem valor de fora e evitam
01:17:57input()dentroParâmetro é variável de espera entre parênteses que só existe dentro e recebe valor na invocação. Passar
baseealturaounome,sobrenomeeidadedeixa a função autossuficiente e evita acoplamento cominput()interno. Dar nome à lógica, reutilizar e centralizar mudança são as vantagens, e dá para combinar funções comomostraInfospara exibir lista formatada.def mostra_infos(nome, sobrenome, idade): print(nome, sobrenome, idade) mostra_infos("Ada", "Lovelace", 36)Saída
Ada Lovelace 36
Perguntas que valem a pena
Dá para usar fora da função uma variável criada dentro dela?00:47:26
Uma variável local não fica acessível pelo seu nome fora da função. Para usar o resultado no chamador, a aula devolve o valor com return.
Dá para fazer 5 6 7 vezes 10 com a função que mostra na tela?00:33:25
Não, porque a função só mostra com print() e não devolve valor com return.
Por que aparece None ao guardar o resultado de solicitaInfos?00:55:28
Porque solicitaInfos não tem return, só mostra na tela, igual a print() que retorna None.
Qual a diferença entre usar variável de fora e passar parâmetro para a função?00:30:56
Passar parâmetro evita acoplamento e deixa a função autossuficiente e fácil de mover para outro código.
Conceitos da aula
- função
- def
- parâmetro / argumento
- return / retornar
- None
- escopo
- lista
- biblioteca padrão
- invocação
- reutilização
Reforce este assunto
- Primeiras funções: `def`, parâmetros, retorno e docstringsPython · trilha, etapa 9