Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायथन में __str__ और __repr__ में क्या अंतर है?

अंतर्निहित कार्य repr() और str() क्रमशः object.__repr__(self) और object.__str__(self) विधियों को कॉल करते हैं। पहला फ़ंक्शन ऑब्जेक्ट के आधिकारिक प्रतिनिधित्व की गणना करता है, जबकि दूसरा ऑब्जेक्ट का अनौपचारिक प्रतिनिधित्व देता है।

पूर्णांक वस्तु के लिए दोनों कार्यों का परिणाम समान है।

>>> x = 1 
>>> repr(x)
'1'
>>> str(x)
'1'

हालांकि, स्ट्रिंग ऑब्जेक्ट के मामले में ऐसा नहीं है।

>>> x = "Hello"
>>> repr(x)
"'Hello'"
>>> str(x)
'Hello'

स्ट्रिंग ऑब्जेक्ट के repr () के रिटर्न वैल्यू का मूल्यांकन eval () फ़ंक्शन द्वारा किया जा सकता है और परिणाम मान्य स्ट्रिंग ऑब्जेक्ट में होता है। हालांकि, str() के परिणाम का मूल्यांकन नहीं किया जा सकता है।

>>> y1 = repr(x)
>>> eval(y1)
'Hello'
>>> y2 = str(x)
>>> eval(y2)
NameError: name 'Hello' is not defined

संक्षेप में। repr() ऑब्जेक्ट का एक डिफ़ॉल्ट और स्पष्ट प्रतिनिधित्व देता है, जहां str() एक अनौपचारिक प्रतिनिधित्व देता है जो पठनीय हो सकता है लेकिन हमेशा स्पष्ट नहीं हो सकता है।


  1. JspWriter और PrintWriter में क्या अंतर है?

    JspWriter ऑब्जेक्ट में अधिकांश विधियाँ java.io.PrintWriter . जैसी ही हैं कक्षा। हालाँकि, JspWriter के पास बफ़रिंग से निपटने के लिए कुछ अतिरिक्त विधियाँ हैं। PrintWriter ऑब्जेक्ट के विपरीत, JspWriter IOExceptions फेंकता है ।

  1. टिंकर (पायथन) में root.destroy () और root.quit () के बीच क्या अंतर है?

    जब हम नष्ट () . का आह्वान करते हैं टिंकर विंडो ऑब्जेक्ट के साथ विधि, यह मेनलूप . को समाप्त करती है विंडो के अंदर सभी विजेट्स को प्रोसेस और नष्ट कर देता है। टिंकर नष्ट करें () विधि मुख्य रूप से पृष्ठभूमि में चल रहे दुभाषिया को मारने और समाप्त करने के लिए उपयोग की जाती है। हालांकि, छोड़ें () mainloop

  1. पायथन में tkinter और tkinter.ttk के विजेट में क्या अंतर है?

    tkinter.ttk एक मॉड्यूल है जिसका उपयोग टिंकर विजेट्स को स्टाइल करने के लिए किया जाता है। जैसे CSS का उपयोग HTML तत्व को स्टाइल करने के लिए किया जाता है, वैसे ही हम tkinter.ttk का उपयोग tkinter विजेट्स को स्टाइल करने के लिए करते हैं। यहां tkinter विजेट और tkinter.ttk . के बीच प्रमुख अंतर दिए गए हैं -