การสร้าง dataclass
Dataclass ช่วยให้เก็บและจัดการข้อมูลได้หลากหลายยิ่งขึ้น ก่อนหน้านี้เราใช้ namedtuple กับรายการบันทึกน้ำหนักเพื่อสร้างโครงสร้างข้อมูลที่ใช้งานง่าย ในโค้ดนี้ เราจะใช้ dataclass เพื่อทำสิ่งเดียวกัน แต่เพิ่ม property แบบกำหนดเองเพื่อคืนค่าอัตราส่วนระหว่างมวลร่างกายกับความยาวครีบ Dataclass เริ่มต้นด้วยชุดของฟิลด์และชนิดข้อมูล จากนั้นกำหนด property ซึ่งเป็นฟังก์ชันบน dataclass ที่ทำงานกับตัวเองเพื่อคืนข้อมูลเพิ่มเติม ตัวอย่างเช่น dataclass ของบุคคลอาจมี property ที่คำนวณอายุปัจจุบันจากวันเกิดและวันที่ปัจจุบัน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ประเภทข้อมูลใน Python
คำแนะนำการฝึกหัด
- นำเข้า
dataclassจากdataclasses - เพิ่มฟิลด์
species(string),sex(string),body_mass(int) และflipper_length(int) ลงใน dataclass - เพิ่ม property (
mass_to_flipper_length_ratio) ที่คืนค่าbody_massหารด้วยflipper_length
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import dataclass
from ____ import ____
@____
class WeightEntry:
# Define the fields on the class
____: str
____: int
____: int
____: str
# Define a property that returns the body_mass / flipper_length
____
____ mass_to_flipper_length_ratio(____):
return ____.body_mass / ____.____