当前位置: 首页 > 科技观察

Python 的 f-Strings 作用远超你的预期

时间:2023-03-13 19:50:42 科技观察

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}'#Reserve2位小数'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='测试',10>>>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-string将使用微信公众号「Python7号」,可以通过以下二维码关注。转载本文请联系Python七号公众号。