BaşlayınÜcretsiz başlayın

Dahili öznitelikleri kullanma

Bu egzersizde, Bölüm 2'deki BetterDate sınıfına geri döneceksin.

Tarihin geçerliliğini kontrol eden bir yöntem eklemeye karar veriyorsun, ancak bunun BetterDate'in herkese açık arabiriminin bir parçası olmasını istemiyorsun.

BetterDate sınıfı komut dosyası bölmesinde mevcut.

Bu egzersiz, kursun bir parçasıdır

Python'da Nesne Yönelimli Programlama

Kursa Göz Atın

Egzersiz talimatları

  • Bir ay içindeki en fazla gün sayısını - 31 - tutan _MAX_DAYS adlı bir sınıf özniteliği ekle.
  • Bir yıldaki en fazla ay sayısını - 12 - tutan başka bir sınıf özniteliği ekle. Bunun dahili bir öznitelik olduğunu belirtmek için uygun adlandırma kuralını kullan.
  • day ve month öznitelikleri ilgili en büyük değerlere küçük veya eşitse True, değilse False döndüren bir _is_valid() yöntemi ekle. Sınıf özniteliklerine adlarıyla başvurduğundan emin ol!

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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())
Kodu Düzenle ve Çalıştır