Scenario: si ha una tupla lunga come risultato di una query SQL e si desidera decomprimerlo in valori singoli. Qual è il modo migliore per farlo rispettando PEP8? Finora ho queste tre opzioni:Idiom per disimballaggio lungo tupla
singola assegnazione, utilizzare backslash di dividere su più linee
person_id, first_name, last_name, email, \ birth_date, graduation_year, home_street, \ home_city, home_zip, mail_street, mail_city, \ mail_zip = row
singola assegnazione, gruppo lato sinistro in parantheses e rompere le linee senza una barra rovesciata
(person_id, first_name, last_name, email, birth_date, graduation_year, home_street, home_city, home_zip, mail_street, mail_city, mail_zip) = row
suddiviso in più assegnazioni, ciascun raccordo in una singola linea
012.person_id, first_name, last_name, email = row[0:4] birth_date, graduation_year, home_street = row[4:7] home_city, home_zip, mail_street, mail_city = row[7:11] mail_zip = row[11]
Quale delle tre opzioni è la migliore? C'è qualcosa di meglio?
Opinione basata. Non mi piace la soluzione con il backslash alla fine di una riga perché il codice si interromperà se si dispone di un carattere invisibile (ad esempio spazio) dopo di esso. Per me, la seconda versione è la strada da percorrere. – Matthias
Hai considerato un singolo ['namedtuple'] (https://docs.python.org/2/library/collections.html#collections.namedtuple) invece di nomi separati? – jonrsharpe
@Matthias Chiede "mentre si conforma a PEP-8", e PEP-8 è piuttosto esplicito su quale usare. – chepner