问题标签 [f-string]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
402 浏览

python-3.x - 使用 eval() 编写时我应该使用 f-string

所以最近我了解到 eval() 是一个令人惊讶的函数,它可以将字符串转换为代码命令,在编写参数是函数名称字符串的函数时,它可能非常有用。

但我想知道使用它的更 Pythonic 方式是什么。例子:

我尝试用 f-string 编写,它会起作用:

令我惊讶的是,即使我不使用 f-string,它也会起作用:

这对我来说有点疑问,因为没有 f-string,'a' 可能会令人困惑,很难判断这只是一个字符串还是伪装成字符串的变量。

不知道大家怎么看这个?哪一个对你来说更蟒蛇?

谢谢!

0 投票
1 回答
836 浏览

python - Python3 f 字符串仅在 bash 中解释

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

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

0 投票
3 回答
165 浏览

python - 如何在 Python 中将空字符串传递给三引号 f 字符串?

这是一个使用带有许多子元素的三引号 f 字符串的函数:

获取或值时是否可以获取空</child>元素?paramNone''

0 投票
2 回答
27908 浏览

python - 如何在python中分割一个长的f-string?

我遇到了一个line too longpep8E501问题。

我尝试使用多行字符串,但这带来了一个\n,这打破了我的测试:

如何保持单行并通过pep8linting

0 投票
1 回答
2318 浏览

python - f-string 中的字典/集合理解

python 3.6+中的f字符串中是否可以有字典或集合理解?

这在语法上似乎是不可能的:

这将返回:

这是预期的行为,双括号会导致输出中的文字括号,因为不评估表达式。

有没有人找到一种解决方法来允许在 f 字符串中进行字典/集合理解?

0 投票
0 回答
383 浏览

python - F-String 将浮点数舍入到小数点 0 或 1,f-string 中有多少逻辑是可以的?

我有一堆浮点数,要么是 x.0 要么是 x.5,如果它们是 x.0,我不希望显示小数点,如果它们是 x.5,我希望显示一个小数点。

我想出了一个可以完成这项工作的单线:

Whereint(bool(x % 1))将始终为 0 或 1,具体取决于模是否产生余数。

由于我的浮点输入的性质,这很好用,但它让我思考,如果我的输入不那么整洁怎么办?10.01例如,上面作为输入的单行代码返回10.0. 我的诱惑是首先将浮点数舍入到所需的精度:

如果在我的第一个示例中还没有发生很多事情f-string,那么现在就有了。

要清楚我的问题:

首先,考虑到我的实际输入,我的第一种方法是实现我实际想要实现的目标的“正确”方法吗?

其次,假设问题和我的第二个例子怎么样?

第三,我想征求社区关于在哪里使用f-string越界滥用的意见。举个例子,一个人可能会想把很多东西打包到f-string.

所以我希望将这个关于过度使用f-stringin 的问题与我的舍入问题联系起来不会导致整个问题过于模糊,但这是我正在一起考虑的两个问题。我想 '整洁'f-string可以提供一种将所有东西硬塞进单行的诱惑。

0 投票
1 回答
2880 浏览

python - Python:如何使用 f-string 进行数学运算

我正在尝试使用 python 3.6 的新 f-string 功能在墙上编写自己的 99 瓶啤酒实现,但我被困住了:

如何减少最后一对括号中的“i”?我试过 i-=1 无济于事(语法错误)...

0 投票
1 回答
12126 浏览

python - 如何在不引入意外空格的情况下在多行上编写 f 字符串?

考虑以下代码片段:

产生

这行得通,但是定义第二行的缩进“中断”string看起来很难看。我发现如果我缩进该{name2}行,这个缩进会出现在最后的字符串中。

我正在尝试找到一种方法在新行上继续 f 字符串并缩进它,而缩进不会出现在最终字符串中。按照我在普通字符串中看到的类似内容,我尝试过

但这会导致IndentationError: unexpected indent. 我正在尝试以另一种方式可能吗?

0 投票
2 回答
5920 浏览

python - 如何在 python >3.6 f-strings 中使用 gettext

以前你会使用gettext如下:

但是新 Python 的 f-string 呢?

0 投票
1 回答
123 浏览

python - 如何在运行时将字符串转换为格式化的字符串文字?

我正在努力通过PEP 498。也许我不太了解这个概念,但我怎么可能将常规 Python 字符串转换为格式化的字符串文字并在运行时对其进行评估?


假设你有一个字符串:

如果它是格式化的字符串文字,则以下内容将起作用:

忽略这是否有意义的问题,我怎么能例如some_string在运行时从文件中读取内容,将其转换为some_string_literal并评估它?我对底层 CPython 实现的理解是字符串文字在编译时被解释(翻译成字节码)。

我知道仅使用...的更“明确”选项

...但这不是我要找的。


编辑:评论中指出,“显式”选项是我应该寻找的。我同意我在这里提出的问题在很多方面肯定是不安全的。不过,我对是否有办法做到这一点很感兴趣。