f-string

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

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

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

>>> class Person:
...     def __init__(self,name):
...             self.name = name
...     def __str__(self):
...             return f"my name is {self.name}"
...     def __repr__(self):
...             return f"my name is {self.name} .in repr"
>>> p = Person('xiaoming')
>>> p
my name is xiaoming .in repr
>>> print(p)   
my name is xiaoming
>>> print(f"{p !r}")  # 强制使用__repr__
my name is xiaoming .in repr
posted @ 2022-02-03 21:44  chuangzhou  阅读(60)  评论(0)    收藏  举报