Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:打印“%r k%%k%%a”中的两个%符号有什么作用?_Python_Quine - Fatal编程技术网

Python:打印“%r k%%k%%a”中的两个%符号有什么作用?

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。这里发生了什么?%%是单个%字符的转义;您不能以其他方式使用

我在研究奎因的时候发现了这个。我很想知道%%在以下方面做了什么

打印“%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