python中的fstring的 !r,!a,!s
2024-10-06 20:51:02
首先是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_name
self.last_name = last_name
self.age = age
def __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=}"的形式
最新文章
- Android中用TextView显示大量文字的方法
- python装饰器通俗易懂的解释!
- C++ 以费波纳茨数列为权重的加权均值计算方法 wMA
- json格式
- webshell下执行命令脚本汇集
- How far away[HDU2586]
- JavaPersistenceWithHibernate第二版笔记-第六章-Mapping inheritance-001Hibernate映射继承的方法
- AJAX 基础知识
- 初学Pexpect
- E - 归并排序 求逆序数
- WPF-19:分享一个样式(左右滑动选中的checbox)
- Tiny6410之重定位代码到SRAM+4096
- python之~【空格】可不能随便加唷~
- Java笔试题解答
- spring boot入门小案例
- QQ聊天框变成方框口口口口的解决办法
- UE4 位置转换相关函数
- 【理论面试篇】收集整理来自网络上的一些常见的 经典前端、H5面试题 Web前端开发面试题
- Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十九):服务消费(Ribbon、Feign)
- git提交本地分支到远程分支