学过Python的朋友应该都知道,f-strings用来格式化输出非常方便。={value}',其实f-strings远远超出你的想象,今天就来梳理一下它能干出哪些酷炫的事情。1.懒得再打变量名str_value="hello,pythoncoders"print(f"{str_value=}")#str_value='hello,pythoncoders'2.直接改输出结果num_value=123print(f"{num_value%2=}")#num_value%2=13,直接格式化日期importdatetimetoday=datetime.date.today()print(f"{today:%Y%m%d}")#20211019print(f"{today=:%Y%m%d}")#today=202110194,2/8/16base输出真的太简单了>>>a=42>>>f"{a:b}"#2base'101010'>>>f"{a:o}"#8base'52'>>>f"{a:x}"#16base,小写字母'2a'>>>f"{a:X}"#16Base,大写字母'2A'>>>f"{a:c}"#ascii码'*'5,格式化浮点数>>>num_value=123.456>>>f'{num_value=:.2f}'#Reserve小数点后2位'num_value=123.46'>>>nested_format=".2f"#可以作为变量>>>print(f'{num_value:{nested_format}}')123.466,字符串对齐,soeasy!>>>x='test'>>>f'{x:>10}'#右对齐,左填充空格'test'>>>f'{x:*<10}'#左对齐,右填充*'test******'>>>f'{x:=^10}'#居中,左右填充='===test==='>>>x,n='test',10&克t;>>f'{x:~^{n}}'#可以传入变量n'~~~test~~~'>>>7,使用!s,!r>>>x='中'>>f"{x!s}"#相当于str(x)'in'>>>f"{x!r}"#相当于repr(x)"'in'"8,自定义格式classMyClass:def__format__(self,format_spec)->str:print(f'MyClass__format__calledwith{format_spec=!r}')返回“MyClass()”print(f'{MyClass():balabala%%MYFORMAT%%}')输出如下:MyClass__format__calledwithformat_spec='balabala%%MYFORMAT%%'MyClass()最后,Python的f-string非常灵活优雅,也是最高效的字符串拼接方式:以后的字符串格式化,使用f-弦乐收获,请点赞、观看、关注,谢谢支持!
