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

การเพิ่ม constructor แบบอื่น

Class method เป็นวิธีที่ยอดเยี่ยมสำหรับการสร้างออบเจ็กต์จากคลาสในรูปแบบอื่น เช่น การรับข้อมูลที่แตกต่างออกไปและประมวลผลระหว่างการสร้างออบเจ็กต์เพื่อส่งคืน attribute ที่ต้องการ

ในแบบฝึกหัดนี้ จะได้ทำงานกับคลาส Person โดย constructor เดิมรับชื่อและอายุในขั้นตอน initialization จากนั้นจะเพิ่ม class method ที่รับชื่อและปีเกิดแทน แล้วให้เมธอดคำนวณอายุจากปีเกิดเอง

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

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

ดูคอร์ส

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

  • เพิ่ม decorator สำหรับ class method
  • กำหนด class method from_birth_year() ให้รับสามอาร์กิวเมนต์ ได้แก่ คำที่ใช้เป็นอาร์กิวเมนต์พิเศษสำหรับอ้างถึงคลาส, name และ birth_year
  • ภายในเมธอด ให้สร้างตัวแปร age โดยคำนวณจากผลต่างระหว่าง class attribute CURRENT_YEAR กับ birth_year
  • ส่งคืน attribute name และ age ของคลาส

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

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

class Person:
  CURRENT_YEAR = 2024
  def __init__(self, name, age):
    self.name = name
    self.age = age
  
  # Add a class method decorator
  ____
  # Define the from_birth_year method
  def ____(____, ____, ____):
    # Create age
    age = ____.____ - ____
    # Return the name and age
    return ____(____, ____)

bob = Person.from_birth_year("Bob", 1990)
แก้ไขและรันโค้ด