تجنب القوائم المشتركة داخل dataclass
ال default_factory بتنشئ قيمة جديدة لكل كائن بدل مشاركة نفس القائمة بين الكائنات
قائمة مستقلة لكل كائن
المصنع list بيتنفذ عند إنشاء كل كائن محتاج القيمة الإفتراضية
from dataclasses import dataclass, field
@dataclass
class Student:
skills: list = field(default_factory=list)
first = Student()
second = Student()
first.skills.append("Python")
print(first.skills)
print(second.skills)النتيجة
['Python']
[]تحديد قيمة عند الإنشاء
لو بعت قائمة بنفسك بتستخدم بدل القيمة الناتجة من المصنع
from dataclasses import dataclass, field
@dataclass
class Student:
skills: list = field(default_factory=list)
student = Student(skills=["HTML", "CSS"])
print(student.skills)النتيجة
['HTML', 'CSS']