สร้างคลาส 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)