6

我尝试将我的代码保持在 80 个字符以内,以便在我设置的标准窗口中并排查看。在这样做时,我有一个 Python v2.7 结构,如下所示:

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)

所以我把它分解成这样:

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)

但这导致了错误

NameError:未定义名称“subseq_id_to_intervals_dict”

直到我添加反斜杠:

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)

为什么行尾的逗号不能充分告知 Python 以理解语法并且不会出错?有没有更清洁的方法来做到这一点而没有反斜杠?

4

1 回答 1

12

您可以将作业的左侧放入括号中:

(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)

左边已经是一个元组——括号只是暗示行继续。线

subseq_id_to_intervals_dict,

并不意味着行继续,因为它是一个完整的语句——它是一个具有单个元素的元组。

于 2013-02-28T16:42:50.960 回答