首页 > 解决方案 > 解释高级字符串格式化python

问题描述

我试图了解Code Golf 上的这个答案是如何工作的,使用以下代码将整数转换为法国车牌:

lambda n:f"%c%c-{n%1000:03}-%c%c"%(*(65+n//1000//26**i%26for i in[3,2,1,0]),)

我理解'%c'65 + n一个% 26数字来获取字母,我理解% 1000 : 033-0填充数字来获取字母999。但是我在以下内容中找不到任何内容:

解释将不胜感激 - 谢谢!

标签: pythonpython-3.xformatting

解决方案


//用于整数除法(它只保留除法运算结果的整数部分,类似于)int(n/m)

例子:

>>> n, m = 10, 7
>>> n / m
1.4285714285714286
>>> n // m
1

in f-strings 用于从{}字符串本身评估表达式。

例子:

>>> x = 5
>>> print(f"x^2 = {x**2}")
x^2 = 25

推荐阅读