Scenariusz: masz długą krotkę w wyniku zapytania SQL i chcesz rozpakować ją na poszczególne wartości. Jaki jest najlepszy sposób na to, dostosowując się do PEP8? Do tej pory mam te trzy opcje:Idiom dla rozpakowywania długich krotek
pojedyncze zadanie, należy użyć backslash podzielić na wiele linii
person_id, first_name, last_name, email, \ birth_date, graduation_year, home_street, \ home_city, home_zip, mail_street, mail_city, \ mail_zip = row
pojedyncze zadanie, grupa po lewej stronie w nawiasach i przełamać linie bez backslashem
(person_id, first_name, last_name, email, birth_date, graduation_year, home_street, home_city, home_zip, mail_street, mail_city, mail_zip) = row
podzielone na wiele zadań, każde dopasowane do pojedynczej linii
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]
Która z trzech opcji jest najlepsza? Czy jest coś lepszego?
Oparte na opiniach. Nie podoba mi się rozwiązanie z odwróconym ukośnikiem na końcu linii, ponieważ kod zostanie przerwany, jeśli po nim pojawi się niewidoczny znak (np. Spacja). Dla mnie druga wersja jest drogą do zrobienia. – Matthias
Czy brałeś pod uwagę jeden ['namedtuple'] (https://docs.python.org/2/library/collections.html#collections.namedtuple) zamiast oddzielnych nazw? – jonrsharpe
@ Matthias On pyta "podczas dostosowywania się do PEP-8", a PEP-8 jest dość jednoznaczny o tym, którego użyć. – chepner