Juniorboy 发表于 2020-6-9 15:57:51

format

1. 请问以下这行代码会打印什么内容?
>>> "{{1}}".format("不打印", "打印")
'{1}'

请问这个为什么能输出’{1}‘呀

还有小甲鱼课上讲的
‘{{0}}’.format(‘不打印’)输出‘{0}’

这个format函数的参数怎么回事啊,位置参数和关键字参数

wp231957 发表于 2020-6-9 16:11:45

这玩意 自己多玩几次 就发现规律了

>>> "{{1}}".format("不打印", "打印")
'{1}'
>>> "{1}".format("不打印", "打印")
'打印'
>>> "{0}{1}".format("不打印", "打印")
'不打印打印'
>>> "{0}-{1}".format("不打印", "打印")
'不打印-打印'
>>> "{我站位吗}".format("不打印", "打印")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: '我站位吗'
>>> "{{我站位吗}}".format("不打印", "打印")
'{我站位吗}'
>>>

Twilight6 发表于 2020-6-9 16:11:58

本帖最后由 Twilight6 于 2020-6-9 16:13 编辑

在 Python 中,花括号在python的字符串中进行format时的转义是通过两个大括号实现的,而非通过 \

所以这里只是单纯的被转义 ,你可以试试用 \ 转义,会报错,你把这个规则记着就行

sunrise085 发表于 2020-6-9 16:16:58

format 用大括号{}进行转义,用后面对应的参数替换大括号位置的内容;而双大括号{{}}则表示把里面的大括号以及内容打印出来,不进行转义。

Mike_python小 发表于 2020-6-9 16:32:38


a = 1
print("{a}")

Cool_Breeze 发表于 2020-6-9 18:23:09

{{}}嵌套被转义了!

_2_ 发表于 2020-6-9 20:35:01

Mike_python小 发表于 2020-6-9 16:32

a = 1
print("{a}")

前面加个 f…
页: [1]
查看完整版本: format