简介:

f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便。f-string在形式上是以 f 或 F 修饰符引领的字符串(f’xxx’ 或 F’xxx’),以大括号 {} 标明被替换的字段;f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式:
f-string在功能方面不逊于传统的%-formatting语句和str.format()函数,同时性能又优于二者,且使用起来也更加简洁明了,因此对于Python3.6及以后的版本,推荐使用f-string进行字符串格式化。

常用用法:

1.简单使用

f-string用大括号 {} 表示被替换字段,其中直接填入替换内容:

# -*- coding: utf-8 -*-# 主函数
if __name__ == '__main__':num = 10print(f'My lucky number is {num}')

运行效果如下:

"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py
My lucky number is 10

2.表达式求值与函数调用

f-string的大括号 {} 可以填入表达式或调用函数,Python会求出其结果并填入返回的字符串内:

# -*- coding: utf-8 -*-# 主函数
if __name__ == '__main__':for i in range(0, 5):print(f'第{i*2}行')

运行结果如下:

"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py
第0行
第2行
第4行
第6行
第8行

3.引号、大括号与反斜杠

f-string大括号内所用的引号不能和大括号外的引号定界符冲突,可根据情况灵活切换 '"

'" 不足以满足要求,还可以使用 '''"""

# -*- coding: utf-8 -*-# 主函数
if __name__ == '__main__':print(f"""She said {"I'm Tom"}""")

运行结果如下:

"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py
She said I'm Tom

大括号外的引号还可以使用 \ 转义,但大括号内不能使用 \ 转义;

f-string大括号外如果需要显示大括号,则应输入连续两个大括号 {{}}

上面提到,f-string大括号内不能使用 \ 转义,事实上不仅如此,f-string大括号内根本就不允许出现 \。如果确实需要 \,则应首先将包含 \ 的内容用一个变量表示,再在f-string大括号内填入变量名;

4.多行f-string

f-string还可用于多行字符串

# -*- coding: utf-8 -*-# 主函数
if __name__ == '__main__':math = 96language = 89programming = 78strMyScore = f"""math={math},language={language},programming={programming}。"""print("我的学科成绩:" + strMyScore)

运行结果如下:

"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py
我的学科成绩:math=96,language=89,programming=78。

5.自定义格式:对齐、宽度、符号、补零、精度、进制等
f-string采用 {content:format} 设置字符串格式,其中 content 是替换并填入字符串的内容,可以是变量、表达式或函数等,format 是格式描述符。采用默认格式时不必指定 {:format},如上面例子所示只写 {content} 即可。


# -*- coding: utf-8 -*-# 主函数
if __name__ == '__main__':temp = 39.263print(f'temp is {temp:8.2f}')num = 12print(f'temp is {num:03d}')strTemp = hex(100)print(f'temp is {strTemp}')

运行结果如下:

"C:\Program Files\Python38\python.exe" E:/PythonSourceCode/Test/main3.py
temp is    39.26
temp is 012
temp is 0x64

如果本文对您有所帮助,请关注微信公众号“捷创源科技”!

Python格式化字符串f-string常用用法相关推荐

  1. python: 格式化字符串f()用法

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/sunxb10/article/deta ...

  2. python格式化字符串的三种方法(%,format,f-string)

    DAY 7. 格式化字符串 到目前为止,我所知道的,python格式化字符串有三种方法,第一是早期就有的%,其次是2.5之后的format(),还有就是3.6添加的f字符串调试 7.1 %格式化字符串 ...

  3. Python格式化字符串字面值 | 被官方文档称之为『漂亮』的输出格式

    Python格式化字符串字面值 | 被官方文档称之为『漂亮』的输出格式 本文参考输入输出 - Python 3.7.10 文档.首先声明咱的实验环境. ❯ python --version Pytho ...

  4. Python格式化字符串的4种方式

    文章目录 Python格式化字符串的4种方式 一:%号 二:str.format 三:f-Strings 四:标准库模板 五:总结四种方式的应用场景 Python格式化字符串的4种方式 一:%号 %号 ...

  5. python字符串find函数-python常见字符串处理函数与用法汇总

    本文实例讲述了python常见字符串处理函数与用法.分享给大家供大家参考,具体如下: 1.find 作用:在一个较长字符串中查找子串.返回子串所在位置的最左端索引,如果没有找到则返回-1.如果指定 b ...

  6. python 格式化字符串长度_python-格式化字符串

    python格式化字符串有两种方式: 1.百分号形式(%):默认右对齐   "-"表示多对齐 常用的类型码: s -->字符串 d---->数字   f--->浮 ...

  7. js字符串replace替换多个_汇总几大python常见字符串处理函数与用法(建议收藏)...

    前言: 这篇文章主要介绍了python常见字符串处理函数与用法,结合实例形式详细分析了Python字符串操作函数find.join.replace及split功能.使用技巧与操作注意事项,需要的朋友可 ...

  8. Python格式化字符串新语法:f-strings

    Python格式化字符串新语法:f-strings 原文地址: https://www.zhblog.net/go/python/advanced/python-fstrings?t=562 从Pyt ...

  9. Python中的基本函数及其常用用法简析

    分享Python中的基本函数及其常用用法简析,首先关于函数的解释函数是为了达到某种目的而采取的行为,函数是可重复使用的,用来实现某个单一功能或者功能片段的代码块,简单来说就是由一系列的程序语句组成的程 ...

最新文章

  1. matlab看fft帮助,日记 [2009年06月02日] MATLAB FFT HELP 帮助文档及我的翻译
  2. 面试题27.二叉搜索树与双向链表
  3. How to become an expert in the IP industry? Here is where you should start
  4. 简述抽象和封装,对你学习Java有一些作用
  5. 表单php跳转页面跳转,form表单页面跳转方式提交练习
  6. MongoDB 初学
  7. IoT -- (八)MQTT优缺点
  8. 小学教师计算机说课,浙江温州小学计算机教师资格认证说课稿
  9. python装饰器的通俗理解_Python|闭包、装饰器,简单的实例,通俗的理解
  10. html加载js那些事
  11. MMUlinux内核开启
  12. python np arange_python – 为什么np.arccos(1.0)在np.arange的情况下给出nan?
  13. AIROBOT系统 之 私人存储 和 DLNA 智能电视云
  14. ubuntu中进行复制粘贴
  15. 无线路由器---基本知识
  16. 咸鱼成长故事简介yyds
  17. 回归分析之汽车保险数据分析
  18. Windows下用ndk编译ffmpeg
  19. EAI激光雷达X4使用gmapping与laser_scan_matcher建图(二)
  20. (补档)vs汇编开发配置(MASM32+Irvine32)

热门文章

  1. 【数学】Chaarshanbegaan at Cafebazaar
  2. 苏宁 11.11:仓库内多 AGV 协作的全局路径规划算法研究
  3. “” '' ``区别 初学者自用
  4. win7-64bit 下oracle11g plsql 的正确安装
  5. ubuntu部署tomcat
  6. 使用bash编写Linux shell脚本--复合命令
  7. 《大话设计模式》读书笔记-索引
  8. 安装ae显示安装程序无法初始化_adobe CC 2015/2017安装失败(adobe cc安装不了的解决办法)...
  9. 我的世界服务器怎么修改书与笔,我的世界书与笔怎么做 我的世界书与笔怎么用...
  10. 基本linux命令vi,基本linux和vi命令.pdf