Executando verificação de segurança...
Respondendo a "Muito interessante. Obrigado. Poderia dar algum..." dentro da publicação [Não disponível]
2

Claro, vamos lá:
Primeiramentante tenha em mente que estes exemplos, embora simples e didáticos, são apenas ilustrativos e servem para demonstrar os conceitos fundamentais de diferentes paradigmas de programação. Na prática real, onde os problemas são muito mais complexos e multifacetados, os benefícios destas abordagens tornam-se mais evidentes.

OO

class Action:
  def value(self):
      return None

class CreateAction():
  def value(self):
      return 1

class ReadAction():
  def value(self):
      return 2

class UpdateAction():
  def value(self):
      return 3

class DeleteAction():
  def value(self):
      return 4

def receiveActionOO(action):
  className = f"{action.capitalize()}Action"
  actionClass = globals().get(className, Action)()
  return actionClass.value()

FP

def create_action():
  return 1

def read_action():
  return 2

def update_action():
  return 3

def delete_action():
  return 4

def default_action():
  return None

def receiveActionFP(action):
  function_name = f"{action}_action"
  action_func = globals().get(function_name, default_action)
  return action_func()
action = 'update'
value_long = recieveActionLong(action)
value_short = recieveActionsShort(action)
value_OO = receiveActionOO(action)
value_FP = receiveActionFP(action)

print('Valor da ação longa: ', value_long) # 3
print('Valor da ação curta: ', value_short) # 3
print('Valor da ação OO: ', value_OO) # 3
print('Valor da ação FP:', value_FP) # 3
Carregando publicação patrocinada...
3

Eu acho que só vale a pena fazer isso se as classes fizerem algum processamento mais complexo. Se for pra retornar sempre o mesmo valor fixo, isso aí é um canhão pra matar mosca.

É bom saber que existe essa alternativa, claro. Mas sei lá, eu prefiro começar simples, e complicar somente se houver necessidade.