dataclass در پایتون

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/12
  • تعداد بازدید: 17

مفهوم dataclass در پایتون و نحوه استفاده

در پایتون، dataclass یک دکوراتور (Decorator) است که از نسخه 3.7 معرفی شده و برای ساده‌سازی تعریف کلاس‌هایی که صرفاً برای نگهداری داده‌ها طراحی شده‌اند، استفاده می‌شود. این دکوراتور به صورت خودکار متدهای معمول مانند __init__، __repr__، __eq__ و غیره را برای کلاس ایجاد می‌کند تا نیازی به نوشتن این متدها به صورت دستی نباشد.

مزایای استفاده از dataclass
  • کاهش کدهای تکراری و افزایش خوانایی
  • ایجاد خودکار سازنده (constructor) و متدهای مفید دیگر
  • قابلیت تایپ‌گذاری بهتر و استفاده از ویژگی‌های تایپینگ
  • مناسب برای کلاس‌هایی که صرفاً داده نگهداری می‌کنند (POJO یا DTO)
نحوه استفاده از dataclass
from dataclasses import dataclass

@dataclass
class Person:
    name: str
    age: int
    is_student: bool = False  # مقدار پیش‌فرض

p1 = Person("Ali", 30)
p2 = Person(name="Sara", age=25, is_student=True)

print(p1)  # خروجی: Person(name='Ali', age=30, is_student=False)
print(p2.age)  # خروجی: 25
توضیح مثال

در این مثال، کلاس Person با استفاده از @dataclass تعریف شده است. نیازی نیست که متد __init__ را خودمان تعریف کنیم. پایتون به صورت خودکار این متد را بر اساس متغیرهای کلاس می‌سازد.

جایگاه dataclass

زمانی که بخواهید یک کلاس ساده برای ذخیره و انتقال داده تعریف کنید، بدون رفتار پیچیده، dataclass بهترین انتخاب است. این ابزار در پروژه‌هایی که به ساختارهای داده‌ای خوانا و سریع نیاز دارند بسیار کاربردی است.

برای مثال، مدل‌های داده‌ای در برنامه‌های وب، ذخیره اطلاعات کاربر، یا پاسخ API می‌توانند با dataclass به صورت ساده و تمیز نوشته شوند.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.