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

Python में str() और repr() फंक्शन में अंतर समझाएं

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

आइए एक datetime ऑब्जेक्ट बनाएं:

>>> import datetime
>>> today = datetime.datetime.now()

जब मैं आज को प्रदर्शित करने के लिए बिल्ट-इन फंक्शन str() का उपयोग करता हूं:
>>> str(today)
'2018-01-12 09:21:58.130922'

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

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

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

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

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

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

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

    आप strptime फंक्शन का उपयोग करके स्ट्रिंग को डेट ऑब्जेक्ट में बदल सकते हैं। डेट स्ट्रिंग और वह फॉर्मेट प्रदान करें जिसमें डेट निर्दिष्ट है। उदाहरण import datetime date_str = 29122017 # डेट - 29 दिसंबर 2017 format_str = %d%m%Y # फॉर्मेट datetime_obj = datetime.datetime.strptime(date_str, format_s

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

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

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

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