Membangun Kelas BetterDate
Anda sedang mengembangkan sebuah paket deret waktu dan ingin mendefinisikan kelas sendiri untuk bekerja dengan tanggal, BetterDate.
Atribut kelas ini adalah year, month, dan day. Anda ingin memiliki konstruktor yang membuat objek BetterDate dari nilai year, month, dan day, tetapi Anda juga ingin dapat membuat objek BetterDate dari string, seperti 2021-04-30.
Latihan ini adalah bagian dari kursus
Pengantar Pemrograman Berorientasi Objek di Python
Petunjuk latihan
- Definisikan metode kelas bernama
from_str(), sertakan argumen khusus yang wajib dan satu argumen lain bernamadatestr. - Pecah
datestrberdasarkan tanda hubung"-"dan simpan hasilnya ke variabelparts. - Kembalikan
year,month, danday, dalam urutan tersebut, dengan menggunakan kata kunci yang juga akan memanggil__init__(). - Buat variabel
xmasmenggunakan metode.from_str()milik kelas, dengan memberikan string"2024-12-25".
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)