نفصل تساوي الحقول عن تطابق الفئة. [1] [2]
الخلاصة السريعة
لا؛ الحقول وحدها لا تكفي للفئتين هنا. [1] [2]
- المساواة المولدة الافتراضية تشترط الفئة نفسها وتقارن الحقول المشاركة. [1] [2]
- فئتا Bud وLeaf مستقلتان؛ لكل منهما tag="seed". [1] [2]
- على CPython 3.12.14، المقارنة بينهما تعطي False. [1] [2]
- تحكم: كائنان مختلفان من Bud بالقيمة نفسها يعطيان True. [1] [2]
- دالة مساواة مخصصة أو compare=False خارج قاعدة المثال الافتراضي. [1] [2]
شرط المقارنة
المساواة المولدة الافتراضية تشترط الفئة نفسها وتقارن الحقول المشاركة. [1] [2]
فئتان مستقلتان
فئتا Bud وLeaf مستقلتان؛ لكل منهما tag="seed". [1] [2]
from dataclasses import dataclass
@dataclass
class Bud:
tag:str
@dataclass
class Leaf:
tag:str
a=Bud("seed")
print(a==Leaf("seed"))
print(a==Bud("seed"))على CPython 3.12.14، المقارنة بينهما تعطي False. [1] [2]
التحكم والنطاق
تحكم: كائنان مختلفان من Bud بالقيمة نفسها يعطيان True. [1] [2]
دالة مساواة مخصصة أو compare=False خارج قاعدة المثال الافتراضي. [1] [2]

المراجع
- Python 3.12: dataclass equality
- CPython 3.12.14: equality generation
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
