首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编程生成fstring格式规范?

如何编程生成fstring格式规范?
EN

Stack Overflow用户
提问于 2022-06-09 16:36:04
回答 2查看 55关注 0票数 0

如何以编程方式生成f字符串格式规范?例如,我希望将这个二进制数字设置为零,直到n位:

代码语言:javascript
复制
>> n = 5 
>> f"{6:05b}"
00110    
>> n = 7 
>> f"{6:07b}"
0000110
EN

回答 2

Stack Overflow用户

发布于 2022-06-09 16:36:04

嵌套格式与以前的format函数一样适用于f-字符串,详见文档的格式字符串语法部分:

format_spec字段还可以包含嵌套的替换字段。这些嵌套替换字段可能包含字段名、转换标志和格式规范,但不允许进行更深层次的嵌套。在解释format_spec字符串之前,将替换format_spec中的替换字段。这允许动态指定值的格式设置。

遗憾的是,文档中没有包含f-字符串的示例。这是一个。注意嵌套的花括号:

代码语言:javascript
复制
for n in range(3, 8):
    print(f"{6:0{n}b}")

指纹:

代码语言:javascript
复制
110
0110
00110
000110
0000110
票数 1
EN

Stack Overflow用户

发布于 2022-06-09 17:09:24

您可以通过将f字符串定义为函数的结果来实现。这将推迟对其进行评估,直到调用该函数:

代码语言:javascript
复制
template = lambda: f"{6:0{n}b}"

n = 5
print(template())  # -> 00110
n = 7
print(template())  # -> 0000110
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72563806

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档