Python f 字符串格式不适用于 strftime 内联

新手上路,请多包涵

我遇到了一个我试图理解的奇怪错误。进行一些常规代码清理并将所有字符串格式转换为 f 字符串。这是在 Python 3.6.6 上

此代码不起作用:

 from datetime import date
print(f'Updated {date.today().strftime('%m/%d/%Y')}')

  File "<stdin>", line 1
    print(f'Updated {date.today().strftime('%m/%d/%Y')}')
                                               ^
SyntaxError: invalid syntax

但是,这(功能相同)确实有效:

 from datetime import date
d = date.today().strftime('%m/%d/%Y')
print(f'Updated {d}')

Updated 11/12/2018

我觉得我可能遗漏了一些明显的东西,并且对第二次迭代很好,但我想了解这里发生了什么。

原文由 Sam Morgan 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 588
2 个回答
print(f'Updated {date.today().strftime("%m/%d/%Y")}')

您的代码过早地结束了字符串定义。

原文由 Code Review Doctor 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题