【发布时间】:2013-02-28 16:41:22
【问题描述】:
我尝试将我的代码保持在 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: name '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 以理解语法并且不会出错?有没有更简洁的方法来做到这一点而无需反斜杠?
【问题讨论】:
-
根据 PEP8 的首选方法是添加括号并使用隐含的续行。
-
不要忘记
foo,是一个完整的语句(它是一个包含单个元素的元组)。您可以像@DavidRobinson 建议的那样在 LHS 周围加上括号。出于这个原因,如果 Python 允许您以这种方式使用逗号分割一行,那么 Python 会变得模棱两可(您的意思是 1 元素元组还是我应该处理更多?)
标签: python python-2.7 newline backslash