Criar suas funções é a chave para a sucesso.
Vamos ver algumas das opções de parâmetros de entrada de uma função e em outro post vamos falar em criar 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 20 |
def saudacao(): """ saudacao function ====================== Print the greeting to the World Parameters:none """ print("olá mundo") help(saudacao) saudacao() saudacao function ====================== Print the greeting to the World Parameters:none olá mundo |
O exemplo acima é uma função que não tem parâmetros de entrada, apenas imprime uma informação.
Ao comentar suas funções com aspas triplas você poderá consulta-las em help() e poderá 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 22 |
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") 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 23 24 25 |
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) 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 17 |
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) 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;
Passando um parâmetro obrigatório e outro opcional em uma função
1 2 3 4 5 6 7 8 |
def potencia(base, expoente=2): return base ** expoente print(potencia(2)) print(potencia(2,5)) 4 32 |
Passando 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 30 31 32 |
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") 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
1 2 3 4 5 6 7 8 9 10 |
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') 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 |
def retorna_dicionario(**kwargs): return dict(kwargs) dicionario = retorna_dicionario(nome='Paula',sobrenome='Soarez',endereco='Rua Ipanema', numero='0') print(dicionario) print(dicionario['endereco']) {'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 24 25 |
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 Dobrar 5: 10 Quadrado de 3: 9 |