Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] lista de funções em python

Boa tarde!

Estou aprendendo python e gostaria de saber se é possível fazer uma lista de funções, por exemplo:

funcoes = {
                'funcao1': funcao1(),
                'funcao2': funcao2(),
                'funcao3': funcao3()
                }

A ideia seria conseguir executar uma função passando a chave string por exemplo:

funcoes['funcao1'] e assim ele executaria a funcao1().

É possível fazer isso com python?

1 resposta
solução!

Olá, Pedro. Tudo bem?

É possível sim. Fazemos isso utilizando um tipo de coleção de itens do Python chamado dicionário. Um dicionário é formado por chaves e valores, e tem a seguinte sintaxe:

dicionario = { 
    'chave1': 'valor1', 
    'chave2': 'valor2',
}

O acesso ao itens de um dicionário é feito utilizando a chave do elemento que estamos buscando.

dicionario['chave1']

Para criar uma lista de funções utilizando um dicionário em Python existe uma sintaxe que deve ser seguida para que o código funcione. Mostrarei como implementar no exemplo a seguir.

Primeiramente, criamos as funções que vamos utilizar.

def funcao1():
  print("Essa é a primeira função")

def funcao2(parametro):
  print("Essa é a segunda função com o parâmetro " + parametro)

Depois criamos o nosso dicionário, onde as chaves serão as palavras que queremos utilizar para chamar cada função, e os valores serão os nomes que foram dados para cada função criada. Note que aqui ao usar o nome das funções não utilizamos os parênteses.

dicionarioDeFuncoes = {
    "funcao1": funcao1,
    "funcao2": funcao2,
}

E por fim, para chamar as funções por meio do dicionário, acessamos cada função pela sua chave correspondente, mas adicionamos um par de parênteses para indicar que é uma função. Caso a função tenha parâmetros basta passá-los através dos parênteses.

dicionarioDeFuncoes['funcao1']()
dicionarioDeFuncoes['funcao2']('um texto qualquer')

A saída desse código será a seguinte:

Essa é a primeira função
Essa é a segunda função com o parâmetro um texto qualquer

Dessa maneira, você conseguirá criar seus dicionários de funções com o Python.

Espero que sua dúvida tenha sido solucionada. Qualquer outra questão estarei a disposição.

Abraços. Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!