Funções em Python
As funções são blocos de códigos que podem ser reaproveitados no mesmo programa ou em outros. Um exemplo de função, que utilizamos muito, é a print e type. Uma função pode receber um valor, aplicar alguma operação nesse valor e retornar outro valor. A função também pode não receber valor nenhum, essa seria uma função sem parâmetros.
Criando uma função em python
As funções em python são declaradas com a palavra reservada def. Vamos criar uma função simples que imprime na tela “print dentro da função”.
Exemplo
Se você retirar o ‘imprime()’ do código a função imprime() não será executada.
def imprime():
print('print dentro da função')
# chama a função print passando a string 'print fora da função' como parâmetro
print('print fora da função')
# chama nossa função sem parâmetros
imprime()
print('print dentro da função')
# chama a função print passando a string 'print fora da função' como parâmetro
print('print fora da função')
# chama nossa função sem parâmetros
imprime()
Parâmetros e argumentos
Parâmetros e argumentos são as mesmas coisas, o dado passado para a função. Esse dado pode ser uma string, uma matriz, um numero etc.Passando parâmetros para uma função
Os parâmetros, passados para uma função, vão sempre entre os parênteses. A quantidade de parâmetros depende dos dados necessários para a função fazer o seu trabalho. Por exemplo: Uma função para imprimir um texto na tela. Essa função só vai precisar de um argumento: O texto que será impresso. Uma função para somar dois valores: Essa função vai precisar de dois valores. Os parâmetros são separados por vírgulas.
Exemplo
def imprime(a):
# imprime o valor passado para a função imprime
print(a)
def soma(a, b):
return a + b # retorna a soma de a mais b
# chama a função imprime
imprime('Uma mensagem!!!')
# chama a função imprime passando
# o resultado da função soma
imprime(soma(2, 5))
# imprime o valor passado para a função imprime
print(a)
def soma(a, b):
return a + b # retorna a soma de a mais b
# chama a função imprime
imprime('Uma mensagem!!!')
# chama a função imprime passando
# o resultado da função soma
imprime(soma(2, 5))
Número de parâmetros indefinidos
Vamos imaginar que precisamos que uma função receba o nome de todos os filhos de uma pessoa. Você não conhece essa pessoa. Você não sabe quantos filhos ela tem. Como colocar o numero certo de parâmetros? Simples, é só colocar um * antes do parâmetro do nome do parâmetro. E desse modo só precisamos de um argumento. Esse parâmetro funcionara como uma lista de argumentos.
Exemplo
def imprimeFilhos(*filhos):
for i in filhos:
print(i)
imprimeFilhos('Ana', 'Paulo', 'Joana', 'Avril')
for i in filhos:
print(i)
imprimeFilhos('Ana', 'Paulo', 'Joana', 'Avril')
Ordem dos parâmetros
Vamos supor que, por algum motivo, você quer passar os argumentos de uma função de uma sequencia diferente da que a função está pedindo. Na nossa função de soma, primeiro passamos o valor de a e depois de b. E se quiséssemos passar primeiro o valor de b e depois o de a? É só na chamada da função especificar a qual parâmetro esse valor será atribuído.
Exemplo
def soma(a, b):
return a + b
print(soma(b = 5, a = 8))
return a + b
print(soma(b = 5, a = 8))
Dicionário na função
Podemos passar um dicionário para uma função apenas passando um dicionário como parâmetro. Mais existe outro jeito: definindo o dicionário na chamada da função.
Exemplo
def my_function(**nomes):
print('Meu nome do meio é ' + nomes['n_meio'])
my_function(p_nome = 'Beatriz', u_nome = 'Alves', n_meio = 'Lima')
print('Meu nome do meio é ' + nomes['n_meio'])
my_function(p_nome = 'Beatriz', u_nome = 'Alves', n_meio = 'Lima')
Valor padrão de um parâmetro
Um parâmetro pode ter um valor padrão. Esse valor padrão será usado se no parâmetro não for passado um valor.
Exemplo
def city(anos, cidade = 'São Paulo'):
print('Eu tenho ' + str(anos)+ ' anos e moro em ' + cidade)
city(26, 'Tokyo')
city(12, 'New York')
city(23)
city(25, 'Moscou')
print('Eu tenho ' + str(anos)+ ' anos e moro em ' + cidade)
city(26, 'Tokyo')
city(12, 'New York')
city(23)
city(25, 'Moscou')
Retornando valores
As funções podem receber parâmetros e retornar um valor. Esse valor pode ser um numero, uma lista ou uma string.
Exemplo
def soma(a, b):
return a + b
def cria_lista(*palavras):
return list(palavras)
def city(anos, cidade):
return 'Eu tenho ' + str(anos)+ ' anos e moro em ' + cidade
print(soma(3, 7))
print(cria_lista('praia', 'Sol', 'neve', 'outono'))
print(city(26, 'Tokyo'))
return a + b
def cria_lista(*palavras):
return list(palavras)
def city(anos, cidade):
return 'Eu tenho ' + str(anos)+ ' anos e moro em ' + cidade
print(soma(3, 7))
print(cria_lista('praia', 'Sol', 'neve', 'outono'))
print(city(26, 'Tokyo'))
Função recursiva
Uma função recursiva é uma função que chama ela mesma.
Exemplo
Obs: Não se esqueça da indentação.
def decrementa(a):
a -= 1
print(a)
if a > 0:
decrementa(a)
decrementa(50)
a -= 1
print(a)
if a > 0:
decrementa(a)
decrementa(50)
0 comentários:
Postar um comentário