Daha İyi Bir BetterDate Sınıfı Oluşturma
Bir zaman serisi paketi geliştiriyorsun ve tarihlerle çalışmak için kendi sınıfını, BetterDate'i tanımlamak istiyorsun.
Sınıfın öznitelikleri year, month ve day olacak. Yıl, ay ve gün değerleri verildiğinde BetterDate nesneleri oluşturan bir kurucu (constructor) istiyorsun; ayrıca 2021-04-30 gibi dizelerden de BetterDate nesneleri oluşturabilmek istiyorsun.
Bu egzersiz
Python'da Nesne Yönelimli Programlamaya Giriş
kursunun bir parçasıdırEgzersiz talimatları
- Gerekli özel argümanı ve
datestradlı bir diğerini alacakfrom_str()adlı sınıf metodunu tanımla. datestrdeğerini tire"-"karakterinden böl ve sonucupartsdeğişkeni olarak sakla.__init__()metodunu da çağıracak anahtar sözcüğü kullanarak, sıraylayear,monthvedaydeğerlerini döndür.- Sınıfın
.from_str()metodunu kullanarak"2024-12-25"dizesini geçir vexmasdeğişkenini oluştur.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
class BetterDate:
def __init__(self, year, month, day):
self.year, self.month, self.day = year, month, day
# Define a class method from_str
____
____
# Split the string at "-"
parts = datestr.____("____")
year, month, day = int(parts[0]), int(parts[1]), int(parts[2])
# Return the class instance
____ ____(____, ____, ____)
# Create the xmas object
xmas = ____.____("____")
print(xmas.year)
print(xmas.month)
print(xmas.day)