کلاس داده
برای این مهمان لازم نیست خودتان init بنویسید. خط @dataclass بالای Guest همان آمادهسازی را میسازد. مهمان دو چیز دارد: کلمهٔ nora و صندلی 12. نه بستهای نصب میشود، نه پوشهای ساخته میشود. str را هم در این برنامه نمینویسید. مهمان را خودتان با Guest("nora", 12) میسازید. اول کلمه را میگذارید و بعد عدد، چون ترتیب فیلدها همین است. print(guest) هر دو را در یک خط مینویسد. این مهمان داخل شیء دیگری ننشسته و Guest فرزند کلاس دیگری نیست.
from dataclasses import dataclass
@dataclass
class Guest:
name: str
seat: int
guest = Guest("nora", 12)
print(guest)
صفحه یک خط دارد: Guest(name='nora', seat=12). دور nora نقلقول است، چون کلمه است. 12 نقلقول ندارد، چون عدد صحیح است و نقطهٔ اعشار هم ندارد. این خط را print مینویسد. guest.name همان nora است و guest.seat همان 12. خط دومی در کار نیست. badge به آن نمیچسبد و blue نوشته نمیشود. str را تایپ نکردهاید. شکل خط را @dataclass میسازد. اگر print نباشد صفحه خالی میماند، چون ساختن مهمان با نوشتن روی صفحه یکی نیست.
اگر صندلی را ننویسید، برنامه میایستد. Guest("nora") در این برنامه نیست. نام توقف TypeError است، چون فیلد صندلی مقدار ندارد. None نوشته نمیشود و برنامه ادامه پیدا نمیکند. خطهای name: str و seat: int خودِ فیلدها هستند. مهمان دومی نمیسازند و پوشه هم نمیسازند. class Guest(Pen) را ننویسید. آن شکل فرزند میسازد. کیفی که خودکار داخلش باشد هم این صفحه نیست. اینجا یک مهمان است و هر دو فیلد روی همان مهماناند.
صفحهٔ بعد عیبیابی است. این صفحه فقط نام و صندلی را نگه میدارد و همانها را روی صفحه مینویسد.
یک مهمان، دو فیلد
صفحه Guest(name='nora', seat=12) است. کلمه nora است و صندلی 12. init را نمینویسید. صفحهٔ بعد عیبیابی است.
🧠 دانش خود را بیازمایید
دانش خود را بیازمایید
خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کردهاید
📝 دستورالعملها
- هر سوال را با دقت بخوانید
- بهترین پاسخ را برای هر سوال انتخاب کنید
- میتوانید آزمون را هر چند بار که میخواهید تکرار کنید
- پیشرفت شما در بالا نمایش داده میشود