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进行字符串格式化。

简单使用

>>> name = 'Eric'
>>> f'Hello, my name is {name}'
'Hello, my name is Eric'>>> number = 7
>>> f'My lucky number is {number}'
'My lucky number is 7'>>> price = 19.99
>>> f'The price of this book is {price}'
'The price of this book is 19.99'

表达式求值与函数调用

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

>>> f'A total number of {24 * 8 + 4}'
'A total number of 196'>>> f'Complex number {(2 + 2j) / (2 - 3j)}'
'Complex number (-0.15384615384615388+0.7692307692307692j)'>>> name = 'ERIC'
>>> f'My name is {name.lower()}'
'My name is eric'>>> import math
>>> f'The answer is {math.log(math.pi)}'
'The answer is 1.1447298858494002'

多行f-string

f-string还可用于多行字符串:>>> name = 'Eric'
>>> age = 27
>>> f"Hello!" \
... f"I'm {name}." \
... f"I'm {age}."
"Hello!I'm Eric.I'm 27."
>>> f"""Hello!
...     I'm {name}.
...     I'm {age}."""
"Hello!\n    I'm Eric.\n    I'm 27."

自定义格式:对齐、宽度、符号、补零、精度、进制等

f-string采用 {content:format} 设置字符串格式,其中 content替换并填入字符串的内容,可以是变量表达式或函数等,format 是格式描述符。采用默认格式时不必指定 {:format},如上面例子所示只写 {content} 即可。

python的f-string 格式化字符串相关推荐

  1. 趣学python3(1)-f前缀格式化字符串文本

    f前缀格式化字符串文本 print("您叫什么名字") name=input() print(f"{name},很高兴认识你") width = 15 prec ...

  2. 在Python中优雅的格式化字符串的两种方式

    欢迎关注 "小白玩转Python",发现更多 "有趣" 引言 在 python 中有多种格式化字符串的方法.本文中我们将了解如何通过format()函数和f-s ...

  3. 零基础入门学习Python(14)-格式化字符串

    什么是格式化字符串 格式化字符串就是按照统一的规格去输出一个字符串,如果规格不统一,就很可能造成误会 format()方法 接受位置参数和关键字参数两种参数 二者均传递到一个replacement的字 ...

  4. Python基本数据类型——String(字符串)

    字符串的创建 字符串是最常用的数据类型,我们可以用单引号和双引号"来创建字符串,然后赋值给变量.例如 name = 'alex' address = "China" py ...

  5. Python中用format函数格式化字符串的用法

    自python2.6开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱. 语法 它通过{}和 ...

  6. python 零散记录(三) 格式化字符串 字符串相关方法

    使用 % 符号格式化字符串: """常用转换说明符:""" #%s: 按照str()方式转换 #%r: 按照repr()方式转换 #%d: ...

  7. C++ format string (格式化字符串)

    为什么要单独做C++字符串格式化? C++中可以使用stringstream来格式化字符串如下: stringstream sstream; sstream << "I have ...

  8. Python中常用的格式化字符串方法

    下面写了下我所了解的三种格式化字符串方法,推荐第三种 第一种方式: 常用'%s'.'%f'.'%d'. 符号 描述 %s 格式化为字符串,采用 str() 显示 %r 格式化为字符串,采用 repr( ...

  9. Python中用format函数格式化字符串的用法(2.7版本讲解哦!)

    语法 它通过{}和:来代替%. "映射"示例 通过位置 In [1]: '{0},{1}'.format('kzc',18) Out[1]: 'kzc,18' In [2]: '{ ...

  10. CString、std::string格式化字符串

    2019独角兽企业重金招聘Python工程师标准>>> =============================CString=========================== ...

最新文章

  1. oracle元数据存储在表空间,oracle db中数据和元数据的概念
  2. Kubernetes排错:用容器的元数据提供新思路
  3. AngularJS快速入门指南15:API
  4. 今天学到的几个函数【二】
  5. [七月挑选]Tomcat使用命令行启动之指定jdk版本
  6. VMware 6 个少为人知的技巧
  7. 05.SpringBoot的yml配置详解
  8. git生成SSH密钥提示ssh文件不存在-已解决
  9. creo工程图模板_Creo工程图的优越性总结(仅供参考),来自网友与君共享
  10. k8s springboot 文件_用Kubernetes部署Springboot或Nginx,也就一个文件的事
  11. Android---------------Handler的学习
  12. Excel学习笔记:P1-Excel入门
  13. 摄像头与成像——做图像处理必须了解的数字成像系统原理
  14. 还记得儿时的那片海么?
  15. 微信公众号之自定义菜单
  16. 开放耳机有什么优缺点,列举出几款口碑不错的开放式耳机
  17. AMD推两款集成CPU和GPU的新FirePro处理器
  18. hadoop框架流程图梳理
  19. expected an indented block报错的原因
  20. cruisecontrol 配置

热门文章

  1. IPv6 RIPng (PT)
  2. Kafka生产者发送消息的三种方式
  3. 五节点HadoopHA安装教程
  4. AIMS/MapGuide API二次开发从入门到精通视频课程系列--2
  5. 数据仓库专题(6)-数据仓库、主题域、主题概念与定义
  6. 网站防刷方案 -摘自网络
  7. REST和SOAP:谁更好,或者都好?
  8. 二层交换机的MAC表学习过程
  9. linux raid配置
  10. 如何保持Oracle数据库优良性能