Dato che
Explicit is better than implicit.
Ma anche
Simple is better than complex.
Mi stavo chiedendo quanto sia accettato trasformare codice come questo:
import argparse
def func(a, b):
return a + b
parser = argparse.ArgumentParser()
parser.add_argument('a')
parser.add_argument('b')
parser.add_argument('c')
args = parser.parse_args()
func(args.a, args.b)
In codice come questo:
import argparse
def func(a, b, **kwargs):
return a + b
parser = argparse.ArgumentParser()
parser.add_argument('a')
parser.add_argument('b')
parser.add_argument('c')
args = vars(parser.parse_args())
func(**args)
Per evitare di dover scrivere sempre args.a, args.b, args.c. Ovviamente questo diventa rilevante solo quando sono coinvolte molte opzioni, funzioni più complicate e nomi di variabili più lunghi.