MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Definisikan metode kelas bernama from_str(), sertakan argumen khusus yang wajib dan satu argumen lain bernama datestr.
  • Pecah datestr berdasarkan tanda hubung "-" dan simpan hasilnya ke variabel parts.
  • Kembalikan year, month, dan day, dalam urutan tersebut, dengan menggunakan kata kunci yang juga akan memanggil __init__().
  • Buat variabel xmas menggunakan 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)
Edit dan Jalankan Kode