【问题标题】:Python3 f-strings only interpreted in bashPython3 f 字符串仅在 bash 中解释
【发布时间】:2018-01-21 01:43:46
【问题描述】:

我目前正在学习 python 并注意到一个问题:如果我编写一个 .py 文件并使用 python3 myfile.py 命令行解释它,那么下面的 f-string 根本不会显示,但如果我直接这样做在 python bash 中它工作得很好。

这可能来自哪里? (我的 python 版本是 3.6.4(我也安装了 2.7 版本)并且我在 macOS 上工作)

a = "Hello"
b = 22
f"{a} I'm {b} years old"

【问题讨论】:

  • which python3 告诉你什么?
  • “python bash”是什么意思?
  • 请注意,如果您只是将该代码放在一个文件中并运行它,则不会显示任何内容,因为您没有产生任何输出。你试过print(f"{a} I'm {b} years old")吗?
  • /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
  • 我认为你所说的“Python bash”实际上是 Python 的交互模式,或 REPL(读取、评估、打印循环)——这与 bash 无关,这是一个完全不同的命令解释器。

标签: python bash python-3.6 f-string


【解决方案1】:

这很正常,当在交互式 Python 解释器中执行代码时,会有一个 REPL - 读取、评估、打印 循环。

从 .py 文件执行时,没有 REPL。如果您希望字符串出现在标准输出上,您需要实际打印它:

print(f"{a} I'm {b} years old")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 2020-10-08
    • 2021-11-30
    • 2020-11-08
    • 1970-01-01
    相关资源
    最近更新 更多