如何以编程方式生成f字符串格式规范?例如,我希望将这个二进制数字设置为零,直到n位:
>> n = 5
>> f"{6:05b}"
00110
>> n = 7
>> f"{6:07b}"
0000110发布于 2022-06-09 16:36:04
嵌套格式与以前的format函数一样适用于f-字符串,详见文档的格式字符串语法部分:
format_spec字段还可以包含嵌套的替换字段。这些嵌套替换字段可能包含字段名、转换标志和格式规范,但不允许进行更深层次的嵌套。在解释format_spec字符串之前,将替换format_spec中的替换字段。这允许动态指定值的格式设置。
遗憾的是,文档中没有包含f-字符串的示例。这是一个。注意嵌套的花括号:
for n in range(3, 8):
print(f"{6:0{n}b}")指纹:
110
0110
00110
000110
0000110发布于 2022-06-09 17:09:24
您可以通过将f字符串定义为函数的结果来实现。这将推迟对其进行评估,直到调用该函数:
template = lambda: f"{6:0{n}b}"
n = 5
print(template()) # -> 00110
n = 7
print(template()) # -> 0000110https://stackoverflow.com/questions/72563806
复制相似问题