เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้างคลาส BetterDate

คุณกำลังพัฒนาแพ็กเกจสำหรับข้อมูลอนุกรมเวลา และต้องการสร้างคลาสของตัวเองสำหรับจัดการวันที่ในชื่อ BetterDate

แอตทริบิวต์ของคลาสนี้จะประกอบด้วย year, month, และ day โดยต้องการ constructor ที่รับค่า year, month, และ day เพื่อสร้างออบเจ็กต์ BetterDate นอกจากนี้ยังต้องการสร้างออบเจ็กต์ BetterDate จากสตริงได้ด้วย เช่น 2021-04-30

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

ดูคอร์ส

คำแนะนำการฝึกหัด

  • นิยาม class method ชื่อ from_str() โดยระบุอาร์กิวเมนต์พิเศษที่จำเป็น พร้อมกับอาร์กิวเมนต์อีกตัวชื่อ datestr
  • แยก datestr ด้วยขีดกลาง "-" แล้วเก็บผลลัพธ์ไว้ในตัวแปร parts
  • คืนค่า year, month, และ day ตามลำดับ โดยใช้คีย์เวิร์ดที่จะเรียก __init__() ด้วย
  • สร้างตัวแปร xmas โดยใช้เมธอด .from_str() ของคลาส พร้อมส่งสตริง "2024-12-25" เข้าไป

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด