گاهی مفید است نوع دادهای مشابه «record» Pascal یا «struct» C داشته باشید که چند آیتم داده نامگذاری شده را با هم بستهبندی کند. رویکرد قراردادی استفاده از dataclasses برای این هدف است:
from dataclasses import dataclass
@dataclass
class Employee:
name: str
dept: str
salary: int
>>> john = Employee('john', 'computer lab', 1000)
>>> john.dept
'computer lab'
>>> john.salary
1000
یک قطعه کد پایتون که نوع داده انتزاعی خاصی را انتظار دارد اغلب میتواند کلاسی دریافت کند که متدهای آن نوع داده را شبیهسازی میکند. به عنوان مثال، اگر تابعی دارید که دادههایی از یک شیء فایل قالببندی میکند، میتوانید کلاسی با متدهای read() و readline() تعریف کنید که دادهها را به جای آن از یک بافر رشتهای میگیرند و آن را به عنوان آرگومان منتقل میکنند.
اشیاء متدهای نمونه ویژگیهایی نیز دارند: m.__self__ شیء نمونهای است که متد m() دارد و m.__func__ شیء تابع متناظر با متد است.
این محتوا کاملا رایگان توسط تیم کدلپر ترجمه شده و در اختیار شما کاربران عزیز قرار گرفته است، هر گونه کپی برداری برای مقاصد غیر رایگان و بدون ذکر منبع، مورد پیگیری قانونی قرار میگیرد.
ترجمه شده از منبع: https://docs.python.org/3/tutorial