2013-01-02 5 views
6

Questa potrebbe sembrare una domanda per principianti, ma ho davvero bisogno di aiuto con questo. Non so nemmeno come etichettarlo, ma presumo sia solo una domanda di Python. Ho bisogno di utilizzare una funzione che riceve 5 parametri e restituisce 5 valori:Stile di codifica in Python sulla chiamata di funzione con più parametri

a, b, c, d, e = function (input1, input2, input3, input4, input5) 

Il problema è che quando uso le variabili pieni/funzioni nomi la linea è troppo lungo, e il codice sembra brutto, voglio per usare una soluzione più speciale qui e stavo pensando di utilizzare un dict o un elenco in modo che io possa fare questo:

input_dict['param1'] = input1 
input_dict['param2'] = input2 
input_dict['param3'] = input3 
input_dict['param4'] = input4 
input_dict['param5'] = input5 
ret_dict = function(input_dict) 

esiste un modo migliore o "divinatorio" di migliorare la qualità del codice di questo tipo di chiamate ?

Grazie in anticipo!

+0

Non posso dire di comprendere appieno cosa si trova esattamente sul codice originale e in che modo la versione di 'input_dict' è più carina. – NPE

+0

Si noti che esiste una notazione letterale 'dict' in Python quindi piuttosto che molti compiti, dovresti costruire dizionari come' {x: y, w: z} '. –

+3

Inoltre, [PEP-8] (http://www.python.org/dev/peps/pep-0008/#maximum-line-length) ha buoni consigli su come gestire la lunghezza della linea. –

risposta

10

Puoi linee Nest Ti piace questa

my_function(test, this, out, like, so, 
        something, indent) 

È possibile espandere le liste in args questo modo

a = [1,2,3,4,5] 
my_function(*a) 

Si può anche fare questo

result = my_function(big, long, list, 
         of, args) 
a,b,c,d = result 

Inoltre, PEP-8 ha buoni consigli su come gestire la lunghezza della linea . - Lattyware 5 minuti fa

+0

Grazie, questo è quello che stavo cercando! –

Problemi correlati