hash() قيمة تجزئة الكائن

آخر تحديث: 2026-09-22

hash() قيمة تجزئة الكائن

hash() تُرجع قيمة تجزئة صحيحة للكائن (للكائنات القابلة للتجزئة)؛ الكائنات المتطابقة (a is b) لها بالتأكيد نفس قيمة التجزئة.

التصنيفالدوال المدمجة
النوعدالة مدمجة
إصدار بايثونall

📝 الصياغة

hash(object)

⚙️ المعاملات

object مطلوبThe object to hash; it must be hashable.

القيمة المُعادة:The integer hash of the object; equal objects always hash equal.

💥 الاستثناءات

▶ مثال

عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:

المخرجات:

529344067295497451
ℹ️ معلومة الحاويات غير القابلة للتغيير عادةً قابلة للتجزئة؛ list / set / dict غير قابلة للتجزئة.
المزيد من الحالات قادم قريباً — تابعونا.

❓ أسئلة شائعة

Qلماذا يُثير hash([1, 2]) خطأ TypeError؟
Aالقائمة قابلة للتغيير — محتواها يمكن أن يتبدل — لذا لا يمكن أن يكون هاشها مستقرًا، وبالتالي غير قابل للهاش. وكذلك dict و set.
Qما الكائنات القابلة للهاش؟
Aالأنواع غير القابلة للتغيير عادةً تكون قابلة للهاش: int و float و str و bytes و tuple و frozenset و None وغيرها؛ لاحظ أن tuple يحتوي على قائمة فهو غير قابل للهاش أيضًا.
Qهل هاش الكائنات المتساوية متطابق دائمًا؟
Aنعم في اتجاه واحد: إذا كان a == b فإن hash(a) == hash(b). لكن العكس غير مضمون — قد تتصادم كائنات مختلفة على نفس الهاش (الهاش المتساوي لا يقتضي التساوي).
Qهل يبقى hash('abc') نفسه في كل تشغيل للبرنامج؟
Aليس بالضرورة. هاش السلاسل عشوائي افتراضيًا (PYTHONHASHSEED)، فلا يكون ثابتًا عبر العمليات؛ لا تستخدم قيم الهاش للحفظ الدائم أو النقل بين العمليات.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%