py_*_*y_9 1 python syntax-error
我正在使用doctest测试代码,我想在测试前面评论如下:
Tests:
>>> part([('Eva', 'Sao Paulo', 21098, '04-12', 1182),\ #False, 1, 0
('Ana', 'Toquio', 21098, '06-12', 1182),\
('Ana', 'Sao Paulo', 21098, '04-12', 1096)])
[2, 1]
Run Code Online (Sandbox Code Playgroud)
问题是,当我在shell中运行代码时,它会给我一个synthax错误:
File "/home/user/Desktop/file.py", line 44, in __main__.part
Failed example:
part([('Eva', 'Sao Paulo', 21098, '04-12', 1182),\ #False, 1, 0
Exception raised:
Traceback (most recent call last):
File "/usr/lib/python2.7/doctest.py", line 1315, in __run
compileflags, 1) in test.globs
File "<doctest __main__.part[2]>", line 1
part([('Eva', 'Sao Paulo', 21098, '04-12', 1182),\ #False, 1, 0
^
SyntaxError: unexpected character after line continuation character
Run Code Online (Sandbox Code Playgroud)
你不能在行继续符之后放任何东西\.反斜杠后你有意见:
... \ #False, 1, 0
Run Code Online (Sandbox Code Playgroud)
删除评论,换行必须直接遵循\:
part([('Eva', 'Sao Paulo', 21098, '04-12', 1182),\
('Ana', 'Toquio', 21098, '06-12', 1182),\
('Ana', 'Sao Paulo', 21098, '04-12', 1096)])\
[2, 1]
Run Code Online (Sandbox Code Playgroud)
请注意调用\后的额外信息part(..)以确保[2, 1]切片是其中的一部分!请参阅参考文档的Explicit line join部分:
以反斜杠结尾的行不能发表评论.[...]反斜杠在字符串文字外的其他地方是非法的.
不过,你不需要使用续行符在所有的括号内,逻辑线将自动延长,直到所有的括号和括号都是关闭的:
part([('Eva', 'Sao Paulo', 21098, '04-12', 1182), # False, 1, 0
('Ana', 'Toquio', 21098, '06-12', 1182),
('Ana', 'Sao Paulo', 21098, '04-12', 1096)])[2, 1]
Run Code Online (Sandbox Code Playgroud)
您可以在依赖括号扩展逻辑行时包含注释.
从隐含线加入部分:
括号,方括号或花括号中的表达式可以分割在多个物理行上,而不使用反斜杠.[...]隐含的继续行可以发表评论.
| 归档时间: |
|
| 查看次数: |
3483 次 |
| 最近记录: |