Open In App

Quine in Python

Improve
Improve
Like Article
Like
Save
Share
Report

Quine is a program which takes no input but outputs a copy of its own code. We have discussed quine in C.

The shortest possible quine in python is just a single line of code!




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


In case of Python3.x




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


Explanation:
The above code is a classic use of string formatting. Firstly, we are defining a variable _ and assigning it ‘_=%r;print _%%_’. Secondly, we are printing _%_. Here we are printing _ with _ as input to string formatting. So %r in _ gets the value of _. You can even use %s instead of %r. We used double % in ‘_=%r;print _%%_’ to escape %.

But you may say that the below code is the smallest, right!




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() function to print out its source code.


Last Updated : 23 Apr, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads