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

पायथन __lt__ __gt__ कस्टम (ओवरलोडेड) ऑपरेटरों को कैसे कार्यान्वित करें?


पायथन में ऑपरेटरों के अतिभारित व्यवहार को परिभाषित करने के लिए जादुई तरीके हैं। तुलना ऑपरेटरों (<, <=,>,>=, ==और !=) को __lt__, __le__, __gt__, __ge__, __eq__ और __ne__ जादू विधियों को परिभाषा प्रदान करके अतिभारित किया जा सकता है। निम्नलिखित कार्यक्रम दूरस्थ वर्ग की वस्तुओं की तुलना करने के लिए <और> ऑपरेटरों को ओवरलोड करता है।

class distance:
  def __init__(self, x=5,y=5):
    self.ft=x
    self.inch=y

  def __eq__(self, other):
    if self.ft==other.ft and self.inch==other.inch:
      return "both objects are equal"
    else:
      return "both objects are not equal"

  def __lt__(self, other):
    in1=self.ft*12+self.inch
    in2=other.ft*12+other.inch
    if in1<in2:
      return "first object smaller than other"
    else:
      return "first object not smaller than other"

  def __gt__(self, other):
    in1=self.ft*12+self.inch
    in2=other.ft*12+other.inch
    if in1<in2:
      return "first object greater than other"
    else:
      return "first object not greater than other"

d1=distance(5,5)
d2=distance()
print (d1>d2)
d3=distance()
d4=distance(6,10)
print (d1<d2)
d5=distance(3,11)
d6=distance()
print(d5<d6)

परिणाम __lt__ और _gt__ जादू विधियों के कार्यान्वयन को दर्शाता है

first object not greater than other
first object not smaller than other
first object smaller than other

  1. कस्टम संदेश के साथ कस्टम पायथन अपवाद को कैसे कार्यान्वित करें?

    उपरोक्त दिए गए कोड के लिए समाधान इस प्रकार है उदाहरण class CustomValueError(ValueError): def __init__(self, arg): self.arg = arg try: a = int(input("Enter a number:")) if not 1 < a < 10: raise CustomValueError("Value must be within 1 and 10.") except CustomValueError as e:

  1. आधुनिक पायथन में कस्टम अपवाद कैसे घोषित करें?

    कुछ को ओवरराइड करने या अपवाद के लिए अतिरिक्त तर्क पारित करने के लिए हम इसे आधुनिक पायथन में करते हैं: वर्ग सत्यापन त्रुटि (अपवाद):def __init__ (स्वयं, संदेश, त्रुटियां):सुपर (सत्यापन त्रुटि, स्वयं)। __init__ (संदेश) स्वयं. इस तरह हम त्रुटि संदेशों के शब्दकोश को दूसरे पैरामीटर में पास कर सकते हैं, औ

  1. पायथन में उपयोगकर्ता परिभाषित अपवाद को कैसे कार्यान्वित करें?

    हम Python में एक नया अपवाद वर्ग बनाकर उपयोगकर्ता-परिभाषित या कस्टम अपवाद बनाते हैं। विचार अपवाद वर्ग से कस्टम अपवाद वर्ग प्राप्त करना है। अधिकांश अंतर्निर्मित अपवाद अपने अपवादों को लागू करने के लिए एक ही विचार का उपयोग करते हैं। दिए गए कोड में, आपने एक उपयोगकर्ता-परिभाषित अपवाद वर्ग, कस्टम एक्सेप्श