首先是fstring的结构

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

‘!s’在表达式上调用str(),’!r’调用表达式上的repr(),’!a’调用表达式上的ascii()
1.默认情况下,f-string将使用str(),但如果包含转换标志,则可以确保它们使用repr () !

class Comedian:def __init__(self, first_name, last_name, age):self.first_name = first_nameself.last_name = last_nameself.age = agedef __str__(self):return f"{self.first_name} {self.last_name} is {self.age}."def __repr__(self):return f"{self.first_name} {self.last_name} is {self.age}. Surprise!"

调用

>>> new_comedian = Comedian("Eric", "Idle", "74")
>>> f"{new_comedian}"
'Eric Idle is 74.'>>> f"{new_comedian}"
'Eric Idle is 74.'
>>> f"{new_comedian!r}"
'Eric Idle is 74. Surprise!'

2.!a的例子

>>> a = 'some string'
>>> f'{a!r}'
"'some string'"

等价于

>>> f'{repr(a)}'
"'some string'"

3.!d的例子

类似2

pycon2019有人提出的一个展望!d的功能实现:


在python3.8中以及实现上述功能,不过不再使用!d了改为了f"{a=}"的形式

python中的fstring的 !r,!a,!s相关推荐

  1. Python中字符串前“b”,“r”,“u”,“f”的作用

    原文:https://www.jb51.net/article/176601.htm 原文有bug特参考:https://www.cnblogs.com/songzhenhua/p/13236794. ...

  2. python字符串前面加f什么意思_详解Python中字符串前“b”,“r”,“u”,“f”的作用...

    1.字符串前加 u 例:u"我是含有中文字符组成的字符串." 作用: 后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时 ...

  3. 【编程帮助】python中字符串前的 r、b、u、f 的含义及用法

    针对实战中遇到的字符串前加有字母的情况而不知道它们的具体作用进行总结 一.字符串前加 r :去除转义字符 二.字符串前加 b : 表示该字符串是一个 bytes 对象 三.字符串前加 u :将该字符串 ...

  4. python中的'\b'、'\r'

    今天用python实现了字符串滚动的功能,理解了python中'\b'.'\r'的用法! 首先,我对字符串滚动设定了四条可选项,代码如下: 注:用到了python的库函数:impot time 接下来 ...

  5. Python中处理DataFrame,R绘图

    IN Python from pandas import DataFrame,Series import pandas as pd import numpy as np data = pd.read_ ...

  6. python中字符串前的r什么意思

    字母前加r表示raw string,也叫原始字符串常量,通常为了避免(转移符号)起作用 比如如下代码: s = r'test\tddd' s2 = 'test\tddd' print(s) print ...

  7. 机器学习——回归中的相关度与R平方值及其应用

    1.皮尔逊相关系数(Pearson Correlation Coeffident) (1)衡量两个值线性相关的强度 (2)取值范围[-1,1]:正向相关>0:负向相关<0:无相关性=0. ...

  8. 在python中使用正则表达式

    1.re模块介绍 1. re模块的使用过程 在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re import re # 使用match方法进行匹配操作 result ...

  9. python 字符串前加‘f‘ ‘r‘ ‘b‘ ‘u‘作用

    python字符串前的修饰 字符串前加 f 字符串前加 r 字符串前加 b 字符串前加 u 字符串前加 f 以 f开头表示在字符串内支持大括号内的python 表达式 print(f'{name} d ...

最新文章

  1. JAVA 继承内存模型_Java内存模型
  2. 人工智能与主体时代变革
  3. maven——pom.xml
  4. forum.php 重定向,解析php 版获取重定向后的地址(代码)
  5. 【项目介绍】协程——C语言实现的用户态非抢占式轻量级线程
  6. BEM思想之彻底弄清BEM语法
  7. 计算机专业 程序员技术练级攻略(转载)
  8. $dbms=mysql_Oracle dbms
  9. php各种加密特征,php 开发中加密的几种方法总结
  10. 《C++代码设计与重用》——2.7 转型
  11. thinkpad卡在logo界面_win7系统开机卡在Thinkpad LOGO画面无法进入桌面的解决方法
  12. 谷歌/FOFA搜索引擎使用
  13. java gwt开发_GWT项目和开发总结
  14. 新年礼物送什么好?平价实用的蓝牙耳机推荐
  15. 【运筹优化】SOA海鸥优化算法求解无约束多元函数最值(Java代码实现)
  16. iOS小技能: 创建渐变色背景(提供渐变色无法覆盖整个视图的解决方案)
  17. eyeon项目总结 音频转换 amr-mp3 web项目路径实践经验(血泪史)
  18. 两种必须具备的工具才能使Web更具可读性
  19. 产品众测 | 移动互联网保险展业工具竞品分析
  20. JSP_EL_JTEL

热门文章

  1. 如何利用Python播放和录制声音
  2. 编译Linux版本飞鸽传书的不完全解决办法
  3. 飞鸽传书内部排序算法的性能比较
  4. freeeim源码一个个投篮的命中
  5. 这个是什么单机经典模式的引入
  6. linux系统编程 传智播客,传智播客王保明Linux培训系列教程全120集
  7. requestmapping配置页面后_SpringBoot2.0 基础案例(03):配置系统全局异常映射处理
  8. python命令窗口中怎么导入numpy_科学网—windows7下python3.6如何导入numpy,Astropy - 杨涛只的博文...
  9. python如何高效办公_Python教你高效办公,自制屏幕翻译工具
  10. C\C++不经意间留下的知识空白------宏