Cerco di mantenere il mio codice entro 80 caratteri in modo che sia facile vedere l'uno accanto all'altro in una finestra standard che ho impostato. Nel fare questo, ho un v2.7 Python costruire in questo modo:Evitare lunghe code di codice in Python
subseq_id_to_intervals_dict, subseq_id_to_ccid_formats_dict, subseq_id_to_min_max_count_dict = map_cases(opts,
format_to_ccid_funcs,
sys.stdin)
Così ho rotto in questo modo:
subseq_id_to_intervals_dict,
subseq_id_to_ccid_formats_dict,
subseq_id_to_min_max_count_dict = map_cases(opts,
format_to_ccid_funcs,
sys.stdin)
Ma che ha causato errori
NameError: name 'subseq_id_to_intervals_dict' is not defined
Fino a quando ho barre rovesciate aggiunte:
subseq_id_to_intervals_dict, \
subseq_id_to_ccid_formats_dict, \
subseq_id_to_min_max_count_dict = map_cases(opts,
format_to_ccid_funcs,
sys.stdin)
Perché è che la virgola alla fine della riga non informa Python sufficientemente per capire la sintassi e non ottenere un errore? C'è un modo più pulito per fare questo senza backslash?
Il modo preferito secondo PEP8 è di aggiungere parens e utilizzare la continuazione della linea implicita. – geoffspear
Non dimenticare che 'foo,' è un'istruzione completa (è una tupla con un singolo elemento). Puoi mettere le parentesi intorno alla LHS come suggerito da @DavidRobinson. Per questo motivo, Python diventerebbe ambiguo se ti permettesse di dividere una riga usando le virgole in quel modo (intendevi una tupla di 1 elemento o dovrei elaborare di più?) – FatalError