dukai 发表于 2023-1-31 14:03:59

关于花括号的几个问题,求大神解答

本帖最后由 dukai 于 2023-1-31 14:12 编辑

"{{0}}".format(1)
'{0}'       
在花括号外边套一层花括号,外层是对内层起到“注释“的作用。所谓”注释“,就是剥夺了花括号的特殊功能,使它变会一个正经的字符串

"{{{0}}}".format(1)
'{1}'
首先最外层注释了倒数第二层,那么最终结果将保留一个花括号。接着,内部剩下的 {0},则正常解析,获取 format() 的第一个参数。

"{{{{{{0}}}}}}".format(1)
'{{{0}}}'       
里存在 6 层花括号包裹,所以不难想象,每 2 层进行一次注释,得到的就是 3 对失去了特殊功能的花括号,所以剩下一个 0 也自然是正经的字符串

# 以上是小甲鱼的解析
有3个问题,1 每两层一个注释是不是就相当就抵消掉了?那岂不是无论多少个花括号只有奇数对花括号才生效吗?
2 这种写法实际上真的有用吗?
3 注释不是应该是带有#的那一行吗,为什么{{}}也叫注释啊

dolly_yos2 发表于 2023-1-31 14:15:33

注释这个说法不准确,应该叫转义
https://docs.python.org/3/library/string.html#format-string-syntax
两个连续的花括号在格式化结果中生成一个对应的花括号而不解析为 replacement_field,在想在格式化结果中生成一个花括号的时候有用
页: [1]
查看完整版本: 关于花括号的几个问题,求大神解答