我尝试将代码保持在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理解语法而不会出错?如果没有反斜杠,有没有更简洁的方法呢?
答案 0 :(得分: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,
并不意味着一个行继续,因为它是一个完整的语句 - 它是一个带有单个元素的元组。