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

पायथन में str () बनाम repr () फ़ंक्शन की व्याख्या करें


आधिकारिक पायथन दस्तावेज कहता है कि __repr__ का उपयोग किसी वस्तु के "आधिकारिक" स्ट्रिंग प्रतिनिधित्व को खोजने के लिए किया जाता है और __str__ का उपयोग किसी वस्तु के "अनौपचारिक" स्ट्रिंग प्रतिनिधित्व को खोजने के लिए किया जाता है। प्रिंट स्टेटमेंट और स्ट्र () बिल्ट-इन फ़ंक्शन ऑब्जेक्ट के स्ट्रिंग प्रतिनिधित्व को प्रदर्शित करने के लिए __str__ का उपयोग करता है जबकि repr () बिल्ट-इन फ़ंक्शन ऑब्जेक्ट को प्रदर्शित करने के लिए __repr__ का उपयोग करता है। आइए यह समझने के लिए एक उदाहरण लेते हैं कि वास्तव में दो विधियां क्या करती हैं।

आइए हम एक डेटाटाइम ऑब्जेक्ट बनाते हैं -

>>> import datetime
>>> today = datetime.datetime.now()
When I use the built-in function str() to display today:
>>> str(today)
'2018-01-12 09:21:58.130922'

हम देखते हैं कि तारीख को एक स्ट्रिंग के रूप में इस तरह प्रदर्शित किया गया था कि उपयोगकर्ता तारीख और समय को समझ सके। अब देखते हैं कि हम बिल्ट-इन फ़ंक्शन का उपयोग कब करते हैं repr()−

>>> repr(today)
'datetime.datetime(2018, 1, 12, 9, 21, 58, 130922)'

हम देखते हैं कि यह एक स्ट्रिंग भी लौटाता है लेकिन स्ट्रिंग एक डेटाटाइम ऑब्जेक्ट का "आधिकारिक" प्रतिनिधित्व था जिसका अर्थ है कि यह "आधिकारिक" स्ट्रिंग प्रतिनिधित्व ऑब्जेक्ट का पुनर्निर्माण कर सकता है -

>>> eval('datetime.datetime(2018, 1, 12, 9, 21, 58, 130922)')
datetime.datetime(2018, 1, 12, 9, 21, 58, 130922)

eval() बिल्ट-इन फंक्शन एक स्ट्रिंग को स्वीकार करता है और इसे डेटाटाइम ऑब्जेक्ट में कनवर्ट करता है।

इस प्रकार सामान्य तौर पर प्रत्येक वर्ग में हमारे कोड में एक __repr__ होना चाहिए और यदि आपको लगता है कि ऑब्जेक्ट का एक स्ट्रिंग संस्करण होना उपयोगी होगा, जैसा कि डेटाटाइम के मामले में एक __str__ फ़ंक्शन बनाते हैं।


  1. पायथन डेट स्ट्रिंग को डेट ऑब्जेक्ट में कैसे बदलें?

    आप strptime फ़ंक्शन का उपयोग करके किसी स्ट्रिंग को दिनांक ऑब्जेक्ट में कनवर्ट कर सकते हैं। दिनांक स्ट्रिंग और वह प्रारूप प्रदान करें जिसमें दिनांक निर्दिष्ट है। उदाहरण import datetime date_str = '29122017' # The date - 29 Dec 2017 format_str = '%d%m%Y' # The format datetime_obj = da

  1. पायथन में एक स्ट्रिंग से तारीख कैसे निकालें?

    आपको तारीख के प्रारूप को जानने की जरूरत है जो इसे निकालने के लिए स्ट्रिंग में हो सकता है। आप दिनांक निकालने के लिए बस एक नियमित अभिव्यक्ति का उपयोग कर सकते हैं और दिनांक को पार्स करने के लिए datetime.datetime.strptime का उपयोग कर सकते हैं। उदाहरण के लिए, यदि आपके पास YYYY-MM-DD प्रारूप में एक स्ट्रि

  1. पायथन में एक सीमांकक द्वारा स्ट्रिंग को कैसे विभाजित करें?

    पायथन के स्ट्रिंग वर्ग में स्प्लिट () नामक एक विधि है जो एक सीमांकक को वैकल्पिक तर्क के रूप में लेती है। इसके लिए डिफ़ॉल्ट डिलीमीटर व्हाइटस्पेस है। आप इसे निम्न तरीके से उपयोग कर सकते हैं: >>> 'aa-ab-ca'.split('-') ['aa', 'ab', 'ca'] >>> '