千家信息网

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

发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,这篇文章将为大家详细讲解有关python中f-string的!r,!a,!s是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。f-string 的 !r,!a,!
千家信息网最后更新 2025年01月17日python中f-string的!r,!a,!s是什么

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

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的功能实现:

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

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

0