首页 > 编程语言 >Python的f-strings格式化

Python的f-strings格式化

时间:2023-02-06 16:31:58浏览次数:44  
标签:10 Parker 格式化 name Python years Guard strings spurs


我是精神抖擞王大鹏,不卑不亢,和蔼可亲~
计算机硕士,目前小米大数据开发。日常会分享总结一些自己面试实际问题的回答,欢迎一起讨论。
公众号:diting_dapeng

'f-strings’是Python的一种新的字符串格式化方法,要使用f-strings,只需在字符串前加上f,语法格式如下:

f ' <text> { <expression> <optional !s, !r, or !a> <optional : format specifier> } <text> ... '

基本用法

name = "Tom"
age = 3
f"His name is {name}, he's {age} years old."
"His name is Tom, he's 3 years old."

实质上,把括号内的当作是变量即可。

支持表达式

# 数学运算
f'He will be { age+1 } years old next year.'
'He will be 4 years old next year.'

# 对象操作
spurs = {"Guard": "Parker", "Forward": "Duncan"}
f"The {len(spurs)} players are: {spurs['Guard']} the guard, and {spurs['Forward']} the forward."
'The 2 players are: Parker the guard, and Duncan the forward.'

f'Numbers from 1-10 are {[_ for _ in range(1, 11)]}'
'Numbers from 1-10 are [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]'

数字操作

# 小数精度
PI = 3.141592653
f"Pi is {PI:.2f}"
'Pi is 3.14'

# 进制转换
f'int: 31, hex: {31:x}, oct: {31:o}'
'int: 31, hex: 1f, oct: 37'

与原始字符串联合使用(使其没有转义字符)

fr'hello\nworld'
'hello\\nworld'

注意事项

  1. {}内不能包含反斜杠\,但可以使用不同的引号,或使用三引号。使用引号是将不再表示一个变量,而是当作了字符串来处理。
  2. 如何插入大括号?
f"{{ {10 * 8} }}"
'{ 80 }'
f"{{ 10 * 8 }}"
'{ 10 * 8 }'
  1. 使用str.format(),非数字索引将自动转化为字符串,而f-strings则不会
"Guard is {spurs[Guard]}".format(spurs=spurs)
'Guard is Parker'

f"Guard is {spurs[Guard]}"
Traceback (most recent call last):
File "<pyshell#34>", line 1, in <module>
f"Guard is {spurs[Guard]}"
NameError: name 'Guard' is not defined

f"Guard is {spurs['Guard']}"
'Guard is Parker'


标签:10,Parker,格式化,name,Python,years,Guard,strings,spurs
From: https://blog.51cto.com/u_15955938/6039494

相关文章

  • python的dict和json的区别
    在工作中经常用到数据传输,而数据传输用的是json字符串,那么这个形如字典dict的json,和json又有什么区别呢?区别Python的字典是一种数据结构,JSON是一种数据传输格式。json就......
  • Python批量重命名文件的方法
    用到了os的两个接口:1、列出文件夹中的所有文件(也包含目录)os.listdir(path)Returnalistcontainingthenamesoftheentriesinthedirectorygivenbypath.Thelist......
  • Hive使用TRANSFORM运行Python脚本总结
    1、Python环境设置可以使用addcachearchive的方法把tar.gz添加到分布式缓存,Hive会自动解压压缩包,但是目录名是和压缩包名称一样的;addcachearchive${env:my_workbenc......
  • python爬取网站指定数据并存入excel
    1:安装库pipinstallbeautifulsoup4pipinstallpandas2:爬取数据我们拿 https://cuiqingcai.com/archives/ 网站为例子,来进行爬取文章标题importrequestsfrom......
  • python之路64 drf从入门到成神 9个视图子类 视图集、ModelViewSet、ReadOnlyModelV
    视图视图View两个视图基类:APIViewGenericAPIViewAPIView执行流程:新的reqeust,三大认证,全局异常重写了as_view,dispatch类属性:p......
  • python新手常见问题一:乱用表达式
    在函数参数中乱用表达式作为默认值Python允许给一个函数的某个参数设置默认值以使该参数成为一个可选参数。尽管这是这门语言很棒的一个功能,但是这当这个默认值是可变对象(mu......
  • Python新手常见问题二:不正确的使用类变量
    不正确的使用类变量看下面一个例子:>>>classA(object):...x=1...>>>classB(A):...pass...>>>classC(A):...pass...>>>printA.x,B.x,C.x111看起......
  • Python新手常见问题三:在异常处理时错误的使用参数
    在异常处理时错误的使用参数假设你有如下的代码:>>>try:...l=["a","b"]...int(l[2])...exceptValueError,IndexError:#想捕捉两个异常...pass...Tr......
  • Python实现的简易FTP
    Python版本实现了比之前的xxftp更多更完善的功能1、继续支持多用户2、继续支持虚拟目录3、增加支持用户根目录以及映射虚拟目录的权限设置4、增加支持限制用户根目录或者虚......
  • Python中and、or用法实例
    Python中and、or是Python中的逻辑运算符,它们的用法如何呢?and:在Python中,and和or执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值......