क्विन एक प्रोग्राम है, जो कोई इनपुट नहीं लेता है, लेकिन यह आउटपुट का उत्पादन करता है। यह इसका अपना सोर्स कोड दिखाएगा। इसके अतिरिक्त, क्विन की कुछ शर्तें हैं। हम प्रोग्राम के अंदर सोर्स कोड फ़ाइल नहीं खोल सकते।
उदाहरण कोड
a='a=%r;print (a%%a)';print (a%a)
आउटपुट
a='a=%r;print (a%%a)';print (a%a)
यह क्विन कैसे काम कर रहा है?
यहां एक साधारण स्ट्रिंग स्वरूपण काम कर रहा है। हम एक वेरिएबल 'ए' को परिभाषित कर रहे हैं, और ए के अंदर, हम 'ए =% आर; प्रिंट (ए%% ए)' स्टोर कर रहे हैं, फिर हम ए के मूल्य को प्रिंट कर रहे हैं, और% आर को ए के मूल्य के साथ बदल रहे हैं। इस प्रकार क्विन काम कर रही है।
हम फ़ाइल को इस तरह खोलकर वही कार्य कर सकते हैं।
print(open(__file__).read())
लेकिन इस मामले में हम क्विन के नियम का उल्लंघन कर रहे हैं। हम फ़ाइल को क्विन में नहीं खोल सकते।