服务器之家

服务器之家 > 正文

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

时间:2021-10-19 20:54     来源/作者:Python七号

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

学过 Python 的朋友应该都知道 f-strings 是用来非常方便的格式化输出的,觉得它的使用方法无外乎就是 print(f'value = { value }',其实,f-strings 远超你的预期,今天来梳理一下它还能做那些很酷的事情。

1、懒得再敲一遍变量名

  1. str_value="hello,pythoncoders"
  2. print(f"{str_value=}")
  3. #str_value='hello,pythoncoders'

2、直接改变输出结果

  1. num_value=123
  2. print(f"{num_value%2=}")
  3. #num_value%2=1

3、直接格式化日期

  1. importdatetime
  2. today=datetime.date.today()
  3. print(f"{today:%Y%m%d}")
  4. #20211019
  5. print(f"{today=:%Y%m%d}")
  6. #today=20211019

4、2/8/16 进制输出真的太简单

  1. >>>a=42
  2. >>>f"{a:b}"#2进制
  3. '101010'
  4. >>>f"{a:o}"#8进制
  5. '52'
  6. >>>f"{a:x}"#16进制,小写字母
  7. '2a'
  8. >>>f"{a:X}"#16进制,大写字母
  9. '2A'
  10. >>>f"{a:c}"#ascii码
  11. '*'

5、格式化浮点数

  1. >>>num_value=123.456
  2. >>>f'{num_value=:.2f}'#保留2位小数
  3. 'num_value=123.46'
  4. >>>nested_format=".2f"#可以作为变量
  5. >>>print(f'{num_value:{nested_format}}')
  6. 123.46

6、字符串对齐,so easy!

  1. >>>x='test'
  2. >>>f'{x:>10}'#右对齐,左边补空格
  3. 'test'
  4. >>>f'{x:*<10}'#左对齐,右边补*
  5. 'test******'
  6. >>>f'{x:=^10}'#居中,左右补=
  7. '===test==='
  8. >>>x,n='test',10
  9. >>>f'{x:~^{n}}'#可以传入变量n
  10. '~~~test~~~'
  11. >>>

7、使用 !s,!r

  1. >>>x='中'
  2. >>>f"{x!s}"#相当于str(x)
  3. '中'
  4. >>>f"{x!r}"#相当于repr(x)
  5. "'中'"

8、自定义格式

  1. classMyClass:
  2. def__format__(self,format_spec)->str:
  3. print(f'MyClass__format__calledwith{format_spec=!r}')
  4. return"MyClass()"
  5. print(f'{MyClass():balabala%%MYFORMAT%%}')

输出如下:

  1. MyClass__format__calledwithformat_spec='balabala%%MYFORMAT%%'
  2. MyClass()

最后

Python 的 f-string 非常灵活优雅,同时还是效率最高的字符串拼接方式:

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

以后关于字符串的格式化,就 f-string 了。

原文链接:https://mp.weixin.qq.com/s/y8p29I4U9fZVItJUY-bFuA

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部