缩进错误:注释后出现意外缩进

9

我正在尝试编写一些Python示例代码,其中有一行被注释掉了:

user_by_email = session.query(User)\
    .filter(Address.email=='one')\
    #.options(joinedload(User.addresses))\
    .first()

我也尝试了:

user_by_email = session.query(User)\
    .filter(Address.email=='one')\
#    .options(joinedload(User.addresses))\
    .first()

但我遇到了IndentationError: unexpected indent的问题。 如果我删除注释掉的那一行,代码就可以运行。 我相当确定我只使用了空格(Notepad++截图):

enter image description here

3个回答

5

请将语句用括号括起来。

user_by_email = (session.query(User)
     .filter(Address.email=='one')
     #.options(joinedload(User.addresses))
     .first())

1
基本上是同一行,这就是 Python 解释器读取它的方式。
就像你不能单独在代码行中注释一个单词一样。 (如下)
不允许
user_by_email = session.query(User).filter(Address.email=='one')#comment#.first()

您需要将注释移到行的末尾。

user_by_email = session.query(User)\
    .filter(Address.email=='one')\
    .first()
#.options(joinedload(User.addresses))\

去掉斜杠不起作用,但加上大括号就可以了。 - Ray Hulha
@Prateek,我删除了我的评论,因为我无法编辑它来更正在那种情况下简单删除反斜杠是不起作用的。 - d parolin
抱歉,我以为它可以工作。已更新答案。 - Morse

0

你试过这个吗?

user_by_email = session.query(User).\
filter(Address.email=='one').\
#options(joinedload(User.addresses)).\
first()

然后我得到了:SyntaxError:在行继续字符之后出现意外字符 - Ray Hulha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接