试图理解一些f-string魔法(格式化f-string中的迷你语言)

Ben*_*tte 0 python python-3.x f-string

这篇文章的评论中,有人放弃了这行代码:

print("\n".join(f'{a:{a}<{a}}' for a in range(1,10)))
Run Code Online (Sandbox Code Playgroud)
1
22
333
4444
55555
666666
7777777
88888888
999999999
Run Code Online (Sandbox Code Playgroud)

它对我来说看起来很神奇,有人可以向我解释它为什么有效(更具体地说f'{a:{a}<{a}}').

Pat*_*ner 6

如果你替换某些东西,你可以使输出变得不整洁:

print("\n".join(f'{a:4<5}' for a in range(1,10)))
Run Code Online (Sandbox Code Playgroud)

并阅读String格式迷你语言:

a使用4作为填充符左对齐5个空格的值:

14444
24444
34444
44444
54444
64444
74444
84444
94444
Run Code Online (Sandbox Code Playgroud)

玩代码是获得它的好方法...