Python:打印“%r k%%k%%a”中的两个%符号有什么作用?
我在研究奎因的时候发现了这个。我很想知道%%在以下方面做了什么 打印“%r k%%k%%a” 我知道%r接受在本例中传递的参数“a”的字符串表示形式,并用引号将其添加到字符串中,因此在本例中它将打印“a”k%k。我搞不懂k%%k是干什么的?如果删除其中一个%符号,则会出现错误。如果两者都没有%r,我也会得到一个错误。但是,当我在ks或任何字母表之间同时有%r和两个%符号时,它会打印出几乎相同的内容,但在本例中,k%%k缺少一个%k%k。这里发生了什么?%%是单个%字符的转义;您不能以其他方式使用该字符:Python:打印“%r k%%k%%a”中的两个%符号有什么作用?,python,quine,Python,Quine,我在研究奎因的时候发现了这个。我很想知道%%在以下方面做了什么 打印“%r k%%k%%a” 我知道%r接受在本例中传递的参数“a”的字符串表示形式,并用引号将其添加到字符串中,因此在本例中它将打印“a”k%k。我搞不懂k%%k是干什么的?如果删除其中一个%符号,则会出现错误。如果两者都没有%r,我也会得到一个错误。但是,当我在ks或任何字母表之间同时有%r和两个%符号时,它会打印出几乎相同的内容,但在本例中,k%%k缺少一个%k%k。这里发生了什么?%%是单个%字符的转义;您不能以其他方式使用
>>> '%s: %%' % 'One percent character'
'One percent character: %'
见:
%
未转换任何参数,结果中包含“%”字符
通过删除一个%字符,形成了%k格式,但没有转换类型k。错误消息反映了:
>>> '%k' % 'No such format type'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unsupported format character 'k' (0x6b) at index 1