Quine เป็นโปรแกรมที่ไม่รับอินพุต แต่สร้างเอาต์พุต มันจะแสดงซอร์สโค้ดของตัวเอง นอกจากนี้ ควินยังมีเงื่อนไขบางประการ เราไม่สามารถเปิดไฟล์ซอร์สโค้ดภายในโปรแกรมได้
โค้ดตัวอย่าง
a='a=%r;print (a%%a)';print (a%a)
ผลลัพธ์
a='a=%r;print (a%%a)';print (a%a)
ควินน์นี้ทำงานอย่างไร
การจัดรูปแบบสตริงอย่างง่ายนี้ได้ผล เรากำลังกำหนดตัวแปร 'a' และภายใน a เรากำลังจัดเก็บ 'a=%r;print (a%%a)' จากนั้น เรากำลังพิมพ์ค่าของ a และแทนที่ %r ด้วยค่าของ a ดังนั้นควินจึงทำงาน
เราทำงานเดียวกันได้โดยเปิดไฟล์แบบนี้
print(open(__file__).read())
แต่ในกรณีนี้ เรากำลังละเมิดกฎของควิน เราไม่สามารถเปิดไฟล์ใน Quine ได้