Aulas do bloco

← Aulas

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

  1. O que é função e biblioteca padrão

    00:14:24

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

  2. Declarar com def e invocar com ()

    00:22:59

    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.

    Python
    def mostra_67():
        print(6)
        print(7)
    
    mostra_67()

    Saída

    6
    7
  3. Reutilizar função com for e range()

    00:29:27

    Lógica declarada uma vez pode ser invocada várias vezes sem copiar código. Dá para chamar dentro de for com range() para repetir 10 vezes, por exemplo de 0 até 9. Mudar num só lugar muda em todo ponto onde a função é usada.

    Python
    def mostra_67():
        print(6)
        print(7)
    
    for i in range(3):
        mostra_67()

    Saída

    6
    7
    6
    7
    6
    7
  4. print() não é return e sem return vem None

    00:50:21

    print() 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)).

    Python
    def mostra_5():
        print(5)
    
    resultado = mostra_5()
    print(resultado)

    Saída

    5
    None
  5. return devolve um valor e lista agrupa vários

    01:03:52

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

    Python
    def monta_pessoa():
        return ["Ada", "Lovelace", 36]
    
    pessoa = monta_pessoa()
    print(pessoa)

    Saída

    ['Ada', 'Lovelace', 36]
  6. Parâmetros trazem valor de fora e evitam input() dentro

    01:17:57

    Parâmetro é variável de espera entre parênteses que só existe dentro e recebe valor na invocação. Passar base e altura ou nome, sobrenome e idade deixa a função autossuficiente e evita acoplamento com input() interno. Dar nome à lógica, reutilizar e centralizar mudança são as vantagens, e dá para combinar funções como mostraInfos para exibir lista formatada.

    Python
    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

9 exercíciosComeçar →