Criar suas funções é, sem dúvida, a chave para o sucesso. Inicialmente, vamos explorar algumas das opções de parâmetros de entrada de uma função. Posteriormente, em outro post, discutiremos a criação de seus módulos (conjunto de funções).
Comente suas funções
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
def saudacao(): """ saudacao function ====================== Print the greeting to the World Parameters:none """ print("olá mundo") help(saudacao) saudacao() """ Resultado: saudacao function ====================== Print the greeting to the World Parameters:none olá mundo """ |
O exemplo acima é uma função que, por não ter parâmetros de entrada, apenas imprime uma informação.
Além disso, ao comentar suas funções com aspas triplas, você poderá consultá-las facilmente com o comando help() e, consequentemente, gerar a documentação com pydoc.
Valor Default
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
def saudacao(nome="Mundo"): """ saudacao function ====================== Print the greeting to the World Parameters:nome(str) default:"Mundo" """ print(f"olá {nome} !") help(saudacao) saudacao() saudacao("Paulo") """ Resultado: saudacao function ====================== Print the greeting to the World Parameters:nome(str) default:"Mundo" olá Mundo ! olá Paulo ! """ |
No exemplo acima nome é um campo não obrigatório que caso não seja informado será atribuído o valor default “Mundo” e imprime o resultado.
Definindo Tipo no parâmetro de entrada
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
def soma(a:float, b:float): """ soma function ====================== add two numbers float Parameters:a(float), b(float) """ resultado = a + b print(resultado) help(soma) soma(2,3) soma(2.5,3.8) """ Resultado: soma function ====================== add two numbers float Parameters:a(float), b(float) 5 6.3 """ |
Retornando o valor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
def soma(a:float, b:float): """ soma function ====================== add two numbers float Parameters:a(float), b(float) Return:float """ resultado = a + b return resultado retorno_da_funcao = soma(2,3) print(retorno_da_funcao) """ Resultado: 5 """ |
No exemplo acima a função retornou 5, pois usamos o método return, também definimos que os parâmetros de entrada devem ser do tipo float;
Parâmetro obrigatório e outro opcional em uma função
1 2 3 4 5 6 7 8 9 10 |
def potencia(base, expoente=2): return base ** expoente print(potencia(2)) print(potencia(2,5)) """ Resultado: 4 32 """ |
Número arbitrários de parâmetros
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
def saudacao(*nomes): """ saudacao function ====================== Print the greeting to the World Parameters:nomes(list) default:"Mundo" """ resultado = "Olá" for nome in nomes: resultado += ", "+nome resultado += " !" print(resultado) help(saudacao) saudacao() saudacao("Mundo") saudacao("Paulo","Suely","Geraldo") saudacao("Maria","Elô","Chico","Severino","Diogo") """ Resultado: saudacao function ====================== Print the greeting to the World Parameters:nomes(list) default:"Mundo" Olá ! Olá, Mundo ! Olá, Paulo, Suely, Geraldo ! Olá, Maria, Elô, Chico, Severino, Diogo ! """ |
Passando um Dicionário como parâmetro
1 2 3 4 5 6 7 8 9 10 11 12 |
def minha_funcao(**kwargs): for key, value in kwargs.items(): print(f'{key} = {value}') minha_funcao(nome='Paula',sobrenome='Soarez',endereco='Rua Ipanema', numero='0') """ Resultado: nome = Paula sobrenome = Soarez endereco = Rua Ipanema numero = 0 """ |
Dicionário é um tipo de dado mais complexo que farei um post separadamente.
A princípio você deve saber que ele existe, e nele temos campos com propriedades chave e valor.
Retornando um Dicionário
1 2 3 4 5 6 7 8 9 10 11 |
def retorna_dicionario(**kwargs): return dict(kwargs) dicionario = retorna_dicionario(nome='Paula',sobrenome='Soarez',endereco='Rua Ipanema', numero='0') print(dicionario) print(dicionario['endereco']) """ Resultado: {'nome': 'Paula', 'sobrenome': 'Soarez', 'endereco': 'Rua Ipanema', 'numero': '0'} Rua Ipanema """ |
Passando uma Função para outra Função
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
def aplicar_operacao(numero, operacao): """ Aplica uma operação passada como argumento a um número. :param numero: O número sobre o qual a operação será aplicada. :param operacao: Uma função que realiza a operação. """ return operacao(numero) # Funções que serão passadas como argumento def dobrar(x): return x * 2 def quadrado(x): return x ** 2 # Exemplo de uso resultado1 = aplicar_operacao(5, dobrar) # Chama a função dobrar(5) resultado2 = aplicar_operacao(3, quadrado) # Chama a função quadrado(3) print(f"Dobrar 5: {resultado1}") # Saída: Dobrar 5: 10 print(f"Quadrado de 3: {resultado2}") # Saída: Quadrado de 3: 9 """ Resultado: Dobrar 5: 10 Quadrado de 3: 9 """ |