问题标签 [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 - 字符串格式:% vs. .format vs. f-string 文字
Python 2.6 引入了该str.format()
方法,其语法与现有%
运算符略有不同。哪个更好,在什么情况下?
Python 3.6 现在通过语法f"my string"
. 此格式选项是否比其他格式更好?
下面使用每种方法,结果都一样,那么有什么区别呢?
此外,字符串格式化何时出现在 Python 中?例如,如果我的日志记录级别设置为 HIGH,我仍然会因为执行以下
%
操作而受到打击吗?如果是这样,有没有办法避免这种情况?
python - python-3.6中带有'f'前缀的字符串
我正在尝试 Python 3.6。通过新代码,我偶然发现了这种新语法:
看来我们可以这样做:
任何人都可以阐明其内部工作原理吗?特别是 f 前缀字符串可以采用的变量范围是什么?
python - 为什么在 Python 3.6 alpha 中文字格式的字符串(f 字符串)如此缓慢?(现在在 3.6 稳定版中修复)
我从 Python Github 存储库下载了 Python 3.6 alpha 版本,我最喜欢的新功能之一是文字字符串格式化。它可以像这样使用:
这似乎与在实例上使用该format
函数做同样的事情。str
但是,我注意到的一件事是,与仅调用format
. 以下是timeit
关于每种方法的说明:
如果我使用字符串作为timeit
' 的参数,我的结果仍然显示模式:
如您所见,使用format
几乎花费了一半的时间。我希望文字方法更快,因为涉及的语法更少。幕后发生了什么导致文字方法慢得多?
python - f-strings 应该在 Python 3.4 中工作吗?
这应该在 Python 3.4 中工作:
>>> a='tttt'
>>> print(f'The value of a is {a}')
python - Python 3.6 中的格式化字符串文字是什么?
Python 3.6 的特性之一是格式化字符串。
这个 SO question (String with 'f' prefix in python-3.6) 询问格式化字符串文字的内部结构,但我不了解格式化字符串文字的确切用例。我应该在哪些情况下使用此功能?显式不是比隐式更好吗?
python - 使用 f 字符串的查询格式
我有非常大的字典,我想插入 MySQL 表。字典键是表中的列名。到目前为止,我正在构建这样的查询:
输出:
这适用于Python2.7
但是在 Python 3.6 中,如果我使用这样的字符串文字:
它打印这个:
有小费吗?
python - 嵌套的 f 字符串
感谢David Beazley 的推文,我最近发现新的Python 3.6 f-strings也可以嵌套:
或者:
虽然我很惊讶这是可能的,但我不知道这有多实用,嵌套 f 字符串什么时候有用?这可以涵盖哪些用例?
注意:PEP 本身并没有提到嵌套 f 字符串,但是有一个特定的测试用例。
python - 为什么当它们引用的变量发生变化时,f-strings 不会发生变化?
在最近的 Python 3.6 版本中使用新的 f 字符串时,我注意到以下几点:
我们创建一个
/li>foo
带有 value 的变量bar
:然后,我们声明一个新变量,也就是我们的 f-string,它应该
/li>foo
被格式化:好的,一切正常,然后我们调用
/li>baz
来检查它的值:让我们尝试更改 的值
/li>foo
并再次调用baz
:
不应该是动态的吗?为什么会这样?我认为如果值发生foo
变化,f-string 会更新,但这并没有发生。我不明白这是如何工作的。
python - 为什么在 Python 3.6 中计算 f"\{10}" 时符号 '{' 仍然存在?
这f-string
是 Python 3.6 中的新特性之一。
但是当我尝试这个时:
我无法弄清楚为什么左花括号'{'
仍然在结果中。我认为结果应该与str.format
:
在PEP-0498中,它没有明确回答这个问题。那么是什么导致左花括号保留在结果中,以及是什么导致了and'{'
之间的这种差异?f-string
str.format()
python - 如何在 Python 中将列表插入到 f 字符串中?
说我有一个功能
我想将函数的结果插入到字符串中以获取"001 002 003"
. 我试过这个:
但它产生了SyntaxError: can't use starred expression here
。我可以使用 f 字符串来执行此操作吗?