问题标签 [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.
python-3.x - 使用 eval() 编写时我应该使用 f-string
所以最近我了解到 eval() 是一个令人惊讶的函数,它可以将字符串转换为代码命令,在编写参数是函数名称字符串的函数时,它可能非常有用。
但我想知道使用它的更 Pythonic 方式是什么。例子:
我尝试用 f-string 编写,它会起作用:
令我惊讶的是,即使我不使用 f-string,它也会起作用:
这对我来说有点疑问,因为没有 f-string,'a' 可能会令人困惑,很难判断这只是一个字符串还是伪装成字符串的变量。
不知道大家怎么看这个?哪一个对你来说更蟒蛇?
谢谢!
python - Python3 f 字符串仅在 bash 中解释
我目前正在学习 python 并注意到一个问题:如果我编写一个 .py 文件并用python3 myfile.py
命令行解释它,那么下面的 f-string 根本不会显示,但如果我直接在 python bash 中执行相同操作,它就可以工作正好。
这可能是从哪里来的?(我的 python 版本是 3.6.4(我也安装了 2.7 版本)并且我在 macOS 上工作)
python - 如何在 Python 中将空字符串传递给三引号 f 字符串?
这是一个使用带有许多子元素的三引号 f 字符串的函数:
获取或值时是否可以获取空</child>
元素?param
None
''
python - 如何在python中分割一个长的f-string?
我遇到了一个line too long
pep8E501
问题。
我尝试使用多行字符串,但这带来了一个\n
,这打破了我的测试:
如何保持单行并通过pep8
linting
python - f-string 中的字典/集合理解
python 3.6+中的f字符串中是否可以有字典或集合理解?
这在语法上似乎是不可能的:
这将返回:
这是预期的行为,双括号会导致输出中的文字括号,因为不评估表达式。
有没有人找到一种解决方法来允许在 f 字符串中进行字典/集合理解?
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-string
in 的问题与我的舍入问题联系起来不会导致整个问题过于模糊,但这是我正在一起考虑的两个问题。我想 '整洁'f-string
可以提供一种将所有东西硬塞进单行的诱惑。
python - Python:如何使用 f-string 进行数学运算
我正在尝试使用 python 3.6 的新 f-string 功能在墙上编写自己的 99 瓶啤酒实现,但我被困住了:
如何减少最后一对括号中的“i”?我试过 i-=1 无济于事(语法错误)...
python - 如何在不引入意外空格的情况下在多行上编写 f 字符串?
考虑以下代码片段:
产生
这行得通,但是定义第二行的缩进“中断”string
看起来很难看。我发现如果我缩进该{name2}
行,这个缩进会出现在最后的字符串中。
我正在尝试找到一种方法在新行上继续 f 字符串并缩进它,而缩进不会出现在最终字符串中。按照我在普通字符串中看到的类似内容,我尝试过
但这会导致IndentationError: unexpected indent
. 我正在尝试以另一种方式可能吗?
python - 如何在 python >3.6 f-strings 中使用 gettext
以前你会使用gettext
如下:
但是新 Python 的 f-string 呢?
python - 如何在运行时将字符串转换为格式化的字符串文字?
我正在努力通过PEP 498。也许我不太了解这个概念,但我怎么可能将常规 Python 字符串转换为格式化的字符串文字并在运行时对其进行评估?
假设你有一个字符串:
如果它是格式化的字符串文字,则以下内容将起作用:
忽略这是否有意义的问题,我怎么能例如some_string
在运行时从文件中读取内容,将其转换为some_string_literal
并评估它?我对底层 CPython 实现的理解是字符串文字在编译时被解释(翻译成字节码)。
我知道仅使用...的更“明确”选项
...但这不是我要找的。
编辑:评论中指出,“显式”选项是我应该寻找的。我同意我在这里提出的问题在很多方面肯定是不安全的。不过,我对是否有办法做到这一点很感兴趣。