logo

Quine in Python

Quine is een programma dat geen invoer nodig heeft, maar een kopie van zijn eigen code uitvoert. Wij hebben besproken Quine in C . The shortest possible quine in python is just a single line of code! Python
_='_=%r;print _%%_';print _%_ 
In case of Python3.x Python
_='_=%r;print (_%%_)';print (_%_) 
Uitleg: De bovenstaande code is een klassiek gebruik van tekenreeksopmaak. Eerst definiëren we een variabele _ en wijs het '_=%r;print _%%_' toe. Ten tweede zijn we aan het printen _%_ . Hier drukken we _ af met _ als invoer voor de tekenreeksopmaak. Dus %R in _ krijgt de waarde van _. Je kunt zelfs gebruiken %S in plaats van %R . Wij hebben dubbel gebruikt % in '_=%r;print _%%_' om te ontsnappen % . But you may say that the below code is the smallest right! Python
print open(__file__).read() 
You need to note that it is indeed the smallest python program that can print its own source code but it is not a quine because a quine should not use open() functie om de broncode af te drukken.