📜  Python中的奎因

📅  最后修改于: 2022-05-13 01:55:43.553000             🧑  作者: Mango

Python中的奎因

Quine 是一个不接受任何输入但输出自己代码副本的程序。我们已经在 C 中讨论了奎因。

Python中最短的quine只是一行代码!

_='_=%r;print _%%_';print _%_

在 Python3.x 的情况下

_='_=%r;print (_%%_)';print (_%_)

解释:
上面的代码是字符串格式化的经典用法。首先,我们定义一个变量_并将其赋值为 '_=%r;print _%%_'。其次,我们正在打印_%_ 。在这里,我们打印 _ 和 _ 作为字符串格式的输入。所以 _ 中的%r得到了 _ 的值。您甚至可以使用%s代替%r 。我们在 '_=%r;print _%%_' 中使用了 double %来转义%

但是你可能会说下面的代码是最小的,对吧!

print open(__file__).read()

您需要注意,它确实是最小的Python程序,可以打印自己的源代码,但它不是 quine,因为 quine 不应该使用open()函数来打印其源代码。