حدّد هل تقارن الصف أم قيمه. [1] [2]
الخلاصة السريعة
المثال
import sqlite3 as s
c=s.connect(":memory:")
try:
c.row_factory=s.Row
a=c.execute(
"select 7 as bud").fetchone()
b=c.execute(
"select 7 as leaf").fetchone()
print(a==b)
print(tuple(a)==tuple(b))
print(a.keys(),b.keys())
finally:
c.close()لماذا تختلف النتيجة؟
المصدر يقارن وصف الأعمدة قبل البيانات. هنا يتغير الاسم من bud إلى leaf؛ keys() يعرضهما. المخرجات: False، ثم True، ثم القائمتان ['bud'] و['leaf']. [1] [2]

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