KTF*_*ash 5 python string python-3.x f-string
这两个print语句产生相同的结果,至少对我来说,第一个版本看起来更具可读性。
我是否应该坚持使用该f'版本,因为它会在以后给我带来问题,或者导致性能更差,或者不遵循当前的 Python 标准?或者这只是这些版本之一的一致使用问题?
print('My first bicycle was a ' + bicycles[1])
print(f'My first bicycle was a {bicycles[1]})')
Run Code Online (Sandbox Code Playgroud)
来自PEP 498,一个致力于文字字符串插值的 PEP(Python 增强提案),
\n\n\nF 字符串提供了一种使用最少的语法将表达式嵌入字符串文字的方法。应该注意的是, f字符串实际上是运行时计算的表达式,而不是常量值。在 Python\n源代码中,f 字符串是一个文字字符串,前缀为 \xe2\x80\x98f\xe2\x80\x99,其中包含大括号内的表达式。表达式被\n它们的值替换。
\n
这里的要点是突出显示的文本。这意味着它的评估效果要好得多,因为CPython编译器内部实现了AST(抽象语法树),这使得它们速度更快。
\n另外,我认为它更具可读性,并且如果字符串中有更多变量,它可以提供更好的可读性。使用此语法可以轻松执行多行字符串插值。
\n例如,
\nf\'\'\'\n My first bicycle was a {bicycles[0]}\n It has color {bicycles[0]["color"]}\n and has {bicycles[0]["gears"]} gears.\n\'\'\'\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
4827 次 |
| 最近记录: |