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

Python'da Nesne Yönelimli Programlama

kursunun bir parçasıdır
Kursu Görüntüle

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ı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# 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