Python: evitando avisos pylint sobre muitos argumentos
Quero refatorar uma grande função Python para outras menores. Por exemplo, considere este seguinte trecho de código:
x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
Claro, este é um exemplo trivial. Na prática, o código é mais complexo. O que quero dizer é que ele contém muitas variáveis de escopo local que precisariam ser passadas para a função extraída, que poderiam se parecer com:
def mysum(x1, x2, x3, x4, x5, x6, x7, x8, x9):
x = x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9
return x
O problema é que o pylint acionaria um aviso sobre muitos argumentos. Eu poderia evitar o aviso fazendo 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)
mas essa abordagem é muito feia para mim, requer escrever muito código até redundant
Há uma melhor forma de fazê-lo