python中f-string的!r,!a,!s是什么

这篇文章将为大家详细讲解有关python中f-string的!r,!a,!s是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联是专业的海港网站建设公司,海港接单;提供做网站、成都网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行海港网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

f-string 的 !r,!a,!s

f-string出现在Python3.6,作为当前最佳的拼接字符串的形式,看下 f-string 的结构

f '  {    }  ... '

其中'!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的功能实现:

python中f-string的!r,!a,!s是什么

在python3.8中已经实现上述功能,不过不再使用!d了改为了f"{a=}"的形式,看过这个视频的发现没有!d应该很懵逼

关于“python中f-string的!r,!a,!s是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


当前题目:python中f-string的!r,!a,!s是什么
URL标题:http://ybzwz.com/article/ihieds.html