Python: evitando advertencias de pylint sobre demasiados argumentos
Quiero refactorizar una gran función de Python en otras más pequeñas. Por ejemplo, considere este fragmento de código siguiente:
x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
Por supuesto, este es un ejemplo trivial. En la práctica, el código es más complejo. Mi punto es que contiene muchas variables de ámbito local que tendrían que pasarse a la función extraída, que podría verse así:
def mysum(x1, x2, x3, x4, x5, x6, x7, x8, x9):
x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
return x
El problema es que pylint activaría una advertencia sobre demasiados argumentos. Podría evitar la advertencia haciendo algo como:
def mysum(d):
x1 = d['x1']
x2 = d['x2']
...
x9 = d['x9']
x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
return x
def mybigfunction():
...
d = {}
d['x1'] = x1
...
d['x9'] = x9
x = mysum(d)
pero este enfoque me parece feo, requiere escribir mucho código que es incluso redundante.
¿Hay una mejor manera de hacerlo