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

अजगर में डंडर या जादू के तरीके

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

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

उदाहरण कोड

class String:
   # magic method to initiate object
   def __init__(self, string):
      self.string = string
# Driver Code
if __name__ == '__main__':
   # object creation
   my_string = String('Python')
   # print object location
   print(my_string)

आउटपुट

<__main__.String object at 0x000000BF0D411908>
. पर

उदाहरण कोड

class String:
   # magic method to initiate object
   def __init__(self, string):
      self.string = string
   # print our string object
   def __repr__(self):
      return 'Object: {}'.format(self.string)
# Driver Code
if __name__ == '__main__':
   # object creation
   my_string = String('Python')
   # print object location
   print(my_string)

आउटपुट

Object: Python

हम इसमें एक स्ट्रिंग जोड़ने का प्रयास कर रहे हैं।

उदाहरण कोड

class String:
   # magic method to initiate object
   def __init__(self, string):
      self.string = string
   # print our string object
   def __repr__(self):
      return 'Object: {}'.format(self.string)
# Driver Code
if __name__ == '__main__':
   # object creation
   my_string = String('Python')
   # concatenate String object and a string
   print(my_string + ' Program')

आउटपुट

TypeError: unsupported operand type(s) for +: 'String' and 'str'

अब स्ट्रिंग क्लास में __add__ विधि जोड़ें

उदाहरण कोड

class String:
   # magic method to initiate object
   def __init__(self, string):
      self.string = string
   # print our string object
   def __repr__(self):
      return 'Object: {}'.format(self.string)
   def __add__(self, other):
      return self.string + other
# Driver Code
if __name__ == '__main__':
   # object creation
   my_string = String('Hello')
   # concatenate String object and a string
   print(my_string +' Python')

आउटपुट

Hello Python

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

    एक पायथन फ़ंक्शन में उपयोगकर्ता इनपुट के रूप में एक स्ट्रिंग को देखते हुए, यदि वर्तमान में परिभाषित नाम स्थान में उस नाम के साथ कोई वर्ग है, तो मैं इसमें से एक क्लास ऑब्जेक्ट प्राप्त करना चाहता हूं। उदाहरण क्लास फ़ोबार:पासप्रिंट eval(Foobar)प्रिंट टाइप(Foobar) आउटपुट __main__.Foobar स्ट्रिंग को क्ल

  1. पाइथन में टाइमस्टैम्प स्ट्रिंग को डेटाटाइम ऑब्जेक्ट में कैसे परिवर्तित करें?

    आप यूनिक्स टाइमस्टैम्प से दिनांक प्राप्त करने के लिए डेटाटाइम मॉड्यूल से fromtimestamp फ़ंक्शन का उपयोग कर सकते हैं। यह फ़ंक्शन टाइमस्टैम्प को इनपुट के रूप में लेता है और टाइमस्टैम्प के अनुरूप डेटाटाइम ऑब्जेक्ट देता है। उदाहरण import datetime timestamp = datetime.datetime.fromtimestamp(1500000000)

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

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