4
respostas

[Dúvida] Diferença entre função com e sem parâmetro

Olá, fiquei com uma dúvida quanto à diferença entre as funções com e sem parâmetro. Não compreendi muito bem. Alguém, por favor, poderia me ajudar a esclarecer essa dúvida?

4 respostas

Olá, Danilo.

O intuito da aula foi mostrar que as funções podem ou não receber parâmetros. Quanto à utilização, fica a critério do desenvolvedor (ou necessidade do código) usar parâmetros ou não. Umas das diferenças de usar parâmetros na função é a visibilidade da variável criada, isto é, um variável criada dentro de uma função só pode ser manipulada dentro da própria função, por isso seu escopo é local; por outro lado, uma variável criada fora da função pode ser manipulada ao longo de todo o código desenvolvido, logo, seu escopo é global.

Função sem parâmetro:

def mostrarMensagem():  // função sem parâmetro.
    nome = "Danilo" // O escopo da variável é local, ou seja, só existe dentro do método.
    print(f'Olá, {nome}') // A saída da função sempre será "Olá, Danilo".

Função com parâmetro:

def mostrarMensagemComParametro(qualquer_nome):
    print(f'Olá, {qualquer_nome}') // A saída será dada de acordo com o argumento que a função receber.

Agora imagine que o seguinte trecho de código foi executado:

mostrarMensagem() // sem passagem de argumento
mostrarMensagem() // sem passagem de argumento

mostrarMensagemComParametro("Maria") // argumento passado explicitamente
mostrarMensagemComParametro("Luis") // argumento passado explicitamente

nome = "Lucas"
mostrarMensagemComParametro(nome) // argumento passado por meio de variável

nome = "Alex" // Note que a variável foi redefinida, logo o parâmetro recebido pela função também será
mostrarMensagemComParametro(nome) // argumento passado por meio de variável

Portanto, a saída será, respectivamente:

Olá, Danilo
Olá, Danilo
Olá, Maria
Olá, Luis
Olá, Lucas
Olá, Alex.

Espero ter ajudado. Bons estudos.

Obrigado, meu amigo. Ficou bem claro agora

De nada. Que bom que ficou claro. Se puder marcar o tópico como resolvido, eu agradeço.

Isso não ficou claro nem no material escrito nem no vídeo, ainda bem que já haviam feito essa dúvida, mas sugiro melhorar o material da aula. Obrigado!