في تهيئة dataclass المولدة، الحقول العادية غير المقتصرة على الكلمات المفتاحية لا تسمح بمطلوب بعد افتراضي. [1]
الخلاصة السريعة
لا، مع هذه الحقول العادية. [1]
- في تهيئة dataclass المولدة، الحقول العادية غير المقتصرة على الكلمات المفتاحية لا تسمح بمطلوب بعد افتراضي. [1]
- على CPython 3.12.14، Bad تعرف label:str="bud" ثم number:int دون افتراضي؛ نستعمل @dataclass دون خيارات. [1]
- تطبيق المزخرف على Bad يرفع TypeError؛ الخطأ يحدث عند تعريف الفئة، قبل إنشاء مثيل. [1]
- تحكم: Fixed تعرف number:int أولًا ثم label:str="bud"؛ تعريفها ينجح. [1]
- control=Fixed(4) تنجح: control.number هي 4، وcontrol.label هي bud؛ حذف الوسيط الثاني يستخدم افتراضيه. نختبر تهيئة مولدة دون وراثة أو حقول مقتصرة على الكلمات المفتاحية. [1]
نطاق قاعدة الترتيب
في تهيئة dataclass المولدة، الحقول العادية غير المقتصرة على الكلمات المفتاحية لا تسمح بمطلوب بعد افتراضي. [1]
الافتراضي أولًا
على CPython 3.12.14، Bad تعرف label:str="bud" ثم number:int دون افتراضي؛ نستعمل @dataclass دون خيارات. [1]
خطأ أثناء التعريف
تطبيق المزخرف على Bad يرفع TypeError؛ الخطأ يحدث عند تعريف الفئة، قبل إنشاء مثيل. [1]
from dataclasses import dataclass try: @dataclass class Bad: label:str="bud" number:int except TypeError:print("TypeError") [1]

تقديم المطلوب والتحكم
تحكم: Fixed تعرف number:int أولًا ثم label:str="bud"؛ تعريفها ينجح. [1]
@dataclass class Fixed: number:int label:str="bud" control=Fixed(4) print(control.number,control.label) [1]
control=Fixed(4) تنجح: control.number هي 4، وcontrol.label هي bud؛ حذف الوسيط الثاني يستخدم افتراضيه. نختبر تهيئة مولدة دون وراثة أو حقول مقتصرة على الكلمات المفتاحية. [1]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
