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

पायथन ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में repr () फ़ंक्शन क्या करता है?


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

उदाहरण

निम्न कोड दिखाता है कि __repr__() का उपयोग कैसे किया जाता है।

class Point:

   def __init__(self, x, y):

     self.x, self.y = x, y

   def __repr__(self):

     return 'Point(x=%s, y=%s)' % (self.x, self.y)

p = Point(3, 4)

print p

आउटपुट

यह आउटपुट देता है

Point(x=3, y=4)

repr() फ़ंक्शन के उपयोग के एक और उदाहरण पर विचार करें और एक डेटाटाइम ऑब्जेक्ट बनाएं -

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

जब मैं आज प्रदर्शित करने के लिए बिल्ट-इन फ़ंक्शन repr() का उपयोग करता हूं -

>>> repr(today)
'datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)'

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

>>> eval('datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)')
datetime.datetime(2012, 3, 14, 9, 21, 58, 130922)

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


  1. पायथन में इनपुट () फ़ंक्शन क्या करता है?

    फ़ंक्शन इनपुट() उपयोगकर्ता के लिए एक संकेत प्रस्तुत करता है (raw_input([arg]) का वैकल्पिक तर्क), उपयोगकर्ता से इनपुट प्राप्त करता है। पायथन 2.x में, यह उपयोगकर्ता द्वारा डेटा इनपुट को एक प्रारूप में लौटाता है जिसकी व्याख्या अजगर द्वारा की जाती है। उदाहरण के लिए, यदि उपयोगकर्ता हैलो इनपुट करता है, तो

  1. रॉ_इनपुट () फ़ंक्शन अजगर में क्या करता है?

    फ़ंक्शन raw_input() उपयोगकर्ता को एक संकेत प्रस्तुत करता है (raw_input([arg]) का वैकल्पिक तर्क), उपयोगकर्ता से इनपुट प्राप्त करता है और उपयोगकर्ता द्वारा डेटा इनपुट को एक में लौटाता है डोरी। उदाहरण के लिए, name = raw_input("What is your name? ") print "Hello, %s." % name यह इनपु

  1. पायथन में रीलोड () फ़ंक्शन क्या करता है?

    फ़ंक्शन रीलोड (मॉड्यूलनाम) पहले से लोड किए गए मॉड्यूल को फिर से लोड करता है (यह मानते हुए कि आपने इसे सिंटैक्स आयात मॉड्यूलनाम के साथ लोड किया है। यह संवादात्मक उपयोग के लिए है, जहां आपने स्रोत फ़ाइल को संपादित किया है एक मॉड्यूल और पायथन को छोड़कर और इसे फिर से शुरू किए बिना इसका परीक्षण करना चाहते