当前位置: 首页 > 编程笔记 >

Python 语言格式字面量(f-string)

阎涵忍
2023-03-14
本文向大家介绍Python 语言格式字面量(f-string),包括了Python 语言格式字面量(f-string)的使用技巧和注意事项,需要的朋友参考一下

示例

在PEP 498(Python3.6及更高版本)中引入了字面量格式的字符串,使您可以f在字符串文字的开头添加前缀,以有效地将.format其应用于当前范围内的所有变量。

>>> foo = 'bar'
>>> f'Foo is {foo}'
'Foo is bar'

这也适用于更高级的格式字符串,包括对齐方式和点表示法。

>>> f'{foo:^7s}'
'  bar  '

注意:f“”不表示特定类型,如python2中b“”表示字节,u“”表示unicode。立即应用格式化,从而产生正常的stirng。

格式字符串也可以嵌套

>>> price = 478.23
>>> f"{f'${price:0.2f}':*>20s}"
'*************$478.23'

f字符串中的表达式按从左到右的顺序求值。仅当表达式具有副作用时才可以检测到:

>>> def fn(l, incr):
...    result = l[0]
...    l[0] += incr
...    return result
...
>>> lst = [0]
>>> f'{fn(lst,2)} {fn(lst,3)}'
'0 2'
>>> f'{fn(lst,2)} {fn(lst,3)}'
'5 7'
>>> lst
[10]

           

 类似资料:
  • 本文向大家介绍F# 字符串字面量,包括了F# 字符串字面量的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我遇到了一个奇怪的错误,我正在努力理解。做一些常规代码清理并将所有字符串格式转换为f字符串。这是在Python 3.6.6上 此代码不起作用: 但是,这(功能相同)确实有效: 我觉得我可能错过了一些明显的东西,并且对第二次迭代很好,但是我想了解这里发生了什么。

  • 我有一个Double:5096,54我需要将其格式化为:5.096,54(欧洲货币格式)。我正在尝试使用这段代码,但没有成功。 输出: 5 096,54,当我期待5 096,54时,知道它为什么失败吗?

  • 本文向大家介绍Objective-C语言NSLog输出格式,包括了Objective-C语言NSLog输出格式的使用技巧和注意事项,需要的朋友参考一下 示例 NSLog在Console.app中查看时,通过调用打印的消息具有以下格式: 日期 时间 程序名称 进程ID 线程ID 信息 2016-07-16 08:58:04.681 test [46259 : 1244773] NSLog messa

  • 问题内容: 我试图根据给定的语言环境以不同的方式格式化Java中的日期。例如,我希望英语用户看到“ 2009年11月1日”(格式为“ MMM d,yyyy”),而挪威用户希望看到“ 1. nov。2009”(“ d。MMM。yyyy”)。 如果将语言环境添加到SimpleDateFormat构造函数中,则月份部分工作正常,但是其余部分呢? 我希望可以将与语言环境配对的格式字符串添加到SimpleD

  • 本文向大家介绍Python语法分析之字符串格式化,包括了Python语法分析之字符串格式化的使用技巧和注意事项,需要的朋友参考一下 前序 There should be one - and preferably only one - obvious way to do it. ———— the Zen of Python 意译:Python提倡用一种,而且最好是只有一种方法来完成一件事 虽然 Py