目次
1. أساسيات نوع القاموس (dict) في Python
نوع القاموس في Python (dict
) هو هيكل بيانات يتكون من أزواج مفتاح وقيمة. على عكس القوائم أو الـ tuples، يمكن الوصول إلى البيانات بكفاءة باستخدام المفاتيح. يُستخدم هذا الهيكل في العديد من السيناريوهات مثل إدارة المنتجات أو معلومات المستخدمين.العمليات الأساسية على القواميس
لإنشاء قاموس، نكتب أزواج المفتاح والقيمة داخل أقواس معقوفة{}
مفصولة بفواصل.my_dict = {"apple": 100, "banana": 200, "orange": 150}
في هذا المثال، المفتاح “apple” مرتبط بالقيمة 100. للوصول إلى عنصر في القاموس، نستخدم المفتاح كما يلي:print(my_dict["apple"]) # النتيجة: 100
الوصول إلى المفاتيح باستخدام []
عند محاولة الوصول إلى قيمة بمفتاح غير موجود باستخدام []
، سيظهر خطأ KeyError
.print(my_dict["grape"]) # KeyError: 'grape'
عند حدوث هذا الخطأ، سيتوقف البرنامج عن التنفيذ، لذلك من الضروري التعامل مع الأخطاء.2. أساسيات دالة get
تسمح لك دالةget
بالحصول على القيم من القاموس دون إثارة خطأ KeyError
إذا لم يكن المفتاح موجودًا، حيث تعيد None
أو قيمة افتراضية تحددها. هذا يجعل المعالجة أكثر أمانًا.كيفية استخدام دالة get
إذا كان المفتاح موجودًا، تعيد الدالة القيمة المرتبطة به، وإذا لم يكن موجودًا، تعيد None
.my_dict = {"apple": 100, "banana": 200, "orange": 150}
# مفتاح موجود
print(my_dict.get("apple")) # 100
# مفتاح غير موجود
print(my_dict.get("grape")) # None
تحديد قيمة افتراضية
يمكنك تحديد قيمة افتراضية تُعاد إذا لم يكن المفتاح موجودًا. هذا يجعل الكود أكثر مرونة.print(my_dict.get("grape", 0)) # النتيجة: 0
باستخدام القيمة الافتراضية، يستمر البرنامج في العمل دون توقف غير متوقع.
3. الفرق بين دالة get والوصول باستخدام []
الفرق الرئيسي بينget
و []
هو التعامل مع الأخطاء. عند استخدام []
مع مفتاح غير موجود يظهر خطأ KeyError
، بينما get
يعيد None
أو القيمة الافتراضية.اختلافات في التعامل مع الأخطاء
المثال التالي يوضح الفرق:my_dict = {"apple": 100, "banana": 200}
# الوصول باستخدام []
try:
print(my_dict["grape"])
except KeyError:
print("المفتاح غير موجود")
# الوصول باستخدام get
print(my_dict.get("grape", "المفتاح غير موجود"))
مع []
نحتاج إلى معالجة الأخطاء يدويًا، بينما get
يجعل الكود أبسط وأسرع.4. أمثلة عملية على استخدام دالة get
دالةget
مفيدة جدًا في التطبيقات العملية مثل التعامل مع استجابات الـ API أو إدخال المستخدمين لتجنب أخطاء KeyError
.التعامل مع استجابة API
يمكن متابعة التنفيذ بأمان حتى إذا لم يكن المفتاح موجودًا في الاستجابة.response = {"status": "success", "data": {"name": "Alice"}}
email = response.get("data", {}).get("email", "البريد الإلكتروني غير مسجل")
print(email) # النتيجة: البريد الإلكتروني غير مسجل
باستخدام get
مع القواميس المتداخلة، يصبح الكود أكثر أمانًا وقابلية للقراءة.تهيئة القواميس أو عمليات العد
يمكن استخدامget
لعمليات العد أو التهيئة.counts = {}
items = ["apple", "banana", "apple", "orange"]
for item in items:
counts[item] = counts.get(item, 0) + 1
print(counts) # {'apple': 2, 'banana': 1, 'orange': 1}
في هذا المثال، المفتاح غير الموجود يبدأ من القيمة 0، ما يجعل الكود أكثر بساطة.5. الخلاصة
تعتبر دالةget
أداة مهمة عند العمل مع القواميس في Python، لأنها تبسط معالجة الأخطاء وتجعل الكود أكثر كفاءة.
خاصة عند التعامل مع بيانات خارجية أو إدخال المستخدم، فهي تمنع أخطاء KeyError
وتسمح باستخدام قيم افتراضية. باستخدام get
، يمكنك كتابة كود أكثر أمانًا ومرونة في Python.