शुरू करेंमुफ़्त में शुरू करें

आंतरिक एट्रिब्यूट्स का उपयोग

इस अभ्यास में, आप अध्याय 2 की BetterDate क्लास पर वापस आएँगे.

आप एक ऐसा मेथड जोड़ने का निर्णय लेते हैं जो तारीख की वैधता जाँचे, लेकिन आप नहीं चाहते कि वह BetterDate के पब्लिक इंटरफेस का हिस्सा बने.

क्लास BetterDate स्क्रिप्ट पेन में उपलब्ध है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग

पाठ्यक्रम देखें

अभ्यास निर्देश

  • एक class attribute _MAX_DAYS जोड़ें, जो एक महीने में दिनों की अधिकतम संख्या 31 स्टोर करे.
  • एक और class attribute जोड़ें, जो एक साल में महीनों की अधिकतम संख्या 12 स्टोर करे. इसे आंतरिक एट्रिब्यूट दर्शाने के लिए उपयुक्त नेमिंग कन्वेंशन का उपयोग करें.
  • एक _is_valid() मेथड जोड़ें, जो day और month एट्रिब्यूट्स अपनी-अपनी अधिकतम वैल्यू से कम या बराबर होने पर True लौटाए, अन्यथा False. ध्यान रखें कि क्लास एट्रिब्यूट्स को उनके नामों से ही रेफर करें!

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Add class attributes for max number of days and months
class BetterDate:
    ____
    
    def __init__(self, year, month, day):
        self.year, self.month, self.day = year, month, day
        
    @classmethod
    def from_str(cls, datestr):
        year, month, day = map(int, datestr.split("-"))
        return cls(year, month, day)
    
    # Add _is_valid() checking day and month values
    ____
    
bd1 = BetterDate(2020, 4, 30)
print(bd1._is_valid())

bd2 = BetterDate(2020, 6, 45)
print(bd2._is_valid())
कोड संपादित करें और चलाएँ