"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف تحافظ قواميس بايثون على التعليمات البرمجية الخاصة بك نظيفة وجافة

كيف تحافظ قواميس بايثون على التعليمات البرمجية الخاصة بك نظيفة وجافة

تم النشر بتاريخ 2024-11-06
تصفح:918

How Python Dictionaries Keep Your Code Clean and DRY

قاموس بايثون ومبدأ الجفاف: دليل سريع للمبتدئين

مرحبًا يا من هناك! ؟ إذا كنت تتعمق في برمجة بايثون، فمن المحتمل أنك عثرت على القواميس وربما تساءلت، "ما هو بالضبط القاموس في بايثون، وكيف يمكن أن يساعدني في البرمجة بشكل أكثر ذكاءً؟" لا تقلق، دعنا نقسمها بطريقة بسيطة للغاية.

ما هو القاموس في لغة بايثون؟

تخيل أن لديك قائمة بالعناصر، ولكل عنصر علامة فريدة مرفقة به، مثل "الاسم: جون" أو "العمر: 25". القاموس في بايثون يعمل بهذه الطريقة تمامًا! إنها مجموعة من أزواج القيمة الرئيسية، حيث يكون كل مفتاح فريدًا ويشير إلى قيمة محددة. فكر في الأمر كقاعدة بيانات صغيرة لتخزين المعلومات بطريقة مرتبة ومنظمة.

إنه يشبه القاموس الحقيقي حيث تبحث عن كلمة (المفتاح) وتحصل على معناها (القيمة). رائع، أليس كذلك؟ ?

كيفية عمل قاموس في بايثون؟

يعد إنشاء قاموس أمرًا سهلاً مثل الفطيرة. ما عليك سوى استخدام الأقواس المتعرجة {} وفصل كل زوج من القيم الرئيسية بنقطتين:.

إليك كيفية إنشاء قاموس بسيط:

# Creating a dictionary to store student information
student_info = {
    'name': 'John Doe',
    'age': 21,
    'major': 'Computer Science'
}

# Printing out the dictionary
print(student_info)

يقوم هذا القاموس بتخزين اسم الطالب وعمره وتخصصه. لاحظ كيف أن المفاتيح مثل "الاسم" و"العمر" موجودة بين علامتي اقتباس؟ وذلك لأن المفاتيح يمكن أن تكون عبارة عن سلاسل أو أرقام أو حتى صفوف! يمكن أن تكون القيم أي سلاسل أو قوائم أو قواميس أخرى، سمها ما شئت.

كيف تساعدنا القواميس على تجنب التكرار (مبدأ DRY)

الآن، هذا هو المكان الذي يصبح فيه الأمر مثيرًا للاهتمام. ربما تكون قد سمعت عن مبدأ DRY، والذي يرمز إلى لا تكرر نفسك. إنها قاعدة تشجعك على تجنب التكرار في التعليمات البرمجية الخاصة بك. وكيف يمكن للقواميس أن تساعد في ذلك؟ دعونا نلقي نظرة.

قبل استخدام القاموس (تكرار الكود)

تخيل أنك تريد تخزين معلومات حول الطلاب في متغيرات منفصلة. قد يبدو الأمر كالتالي:

student1_name = 'Alice'
student1_age = 20
student1_major = 'Mathematics'

student2_name = 'Bob'
student2_age = 22
student2_major = 'Physics'

ليس لدينا أسماء متغيرات متكررة فحسب، ولكن إذا أردنا طباعتها أو تحديثها، فعلينا أن نكرر أنفسنا مرارًا وتكرارًا. هذا هو المكان الذي يمكن للقواميس أن تنقذ اليوم! ?

مثال 1: بعد استخدام القاموس (الإصدار الجاف)

باستخدام القواميس، يمكننا تخزين كل هذه المعلومات بطريقة أكثر وضوحًا:

# Using dictionaries to store student data
students = {
    'student1': {'name': 'Alice', 'age': 20, 'major': 'Mathematics'},
    'student2': {'name': 'Bob', 'age': 22, 'major': 'Physics'}
}

print(students['student1']['name'])  # Output: Alice
print(students['student2']['age'])   # Output: 22

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

مثال 2: تجنب التكرار مع القواميس

لنفترض أنك تريد إنشاء نظام درجات بسيط يعتمد على درجات الطلاب. بدون قواميس، قد ينتهي بك الأمر إلى كتابة ما يلي:

# Without dictionary (repeating code)
alice_score = 90
bob_score = 75
charlie_score = 85

if alice_score >= 85:
    print("Alice gets an A")
if bob_score >= 85:
    print("Bob gets an A")
if charlie_score >= 85:
    print("Charlie gets an A")

هنا، نكرر عبارات if ونقوم بترميز اسم كل طالب ودرجاته، وهو ما ينتهك مبدأ DRY.

بدلاً من ذلك، باستخدام القاموس، يمكنك تجنب التكرار مثل هذا:

# Using a dictionary (DRY principle)
student_scores = {'Alice': 90, 'Bob': 75, 'Charlie': 85}

for student, score in student_scores.items():
    if score >= 85:
        print(f"{student} gets an A")

الآن، لديك كود أكثر وضوحًا وأقصر وأكثر قابلية للصيانة! يمكنك كتابة عبارة if مرة واحدة فقط، وهي صالحة لجميع الطلاب في قاموسك. ?

طرق القاموس المفيدة

تأتي القواميس مزودة بمجموعة من الأساليب المضمنة التي تجعل العمل معها أمرًا سهلاً. دعونا نتحقق من عدد قليل منهم:

  1. .get(): يساعدك على تجنب الأخطاء في حالة عدم وجود المفتاح.
   print(student_info.get('address', 'Address not available'))  
   # Output: Address not available
  1. .keys() و .values(): احصل على جميع المفاتيح أو القيم في القاموس.
   print(student_info.keys())  # Output: dict_keys(['name', 'age', 'major'])
   print(student_info.values())  # Output: dict_values(['John Doe', 21, 'Computer Science'])
  1. .items(): احصل على المفاتيح والقيم كأزواج.
   for key, value in student_info.items():
       print(f'{key}: {value}')
   # Output: 
   # name: John Doe
   # age: 21
   # major: Computer Science
  1. .update(): تحديث قاموس باستخدام قاموس آخر أو أزواج قيمة المفتاح.
   student_info.update({'grade': 'A'})
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A'}
  1. .setdefault(): يضيف مفتاحًا بقيمة افتراضية إذا كان المفتاح غير موجود.
   student_info.setdefault('graduation_year', 2024)
   print(student_info)  
   # Output: {'name': 'John Doe', 'age': 21, 'major': 'Computer Science', 'grade': 'A', 'graduation_year': 2024}

الختام

القواميس قوية للغاية ويمكن أن تساعدك حقًا في اتباع مبدأ DRY في التعليمات البرمجية الخاصة بك. باستخدام القواميس، يمكنك تجنب تكرار نفسك، والحفاظ على التعليمات البرمجية الخاصة بك منظمة، وتسهيل قراءتها وصيانتها.

لذا، في المرة القادمة التي تجد فيها نفسك تقوم بإنشاء مجموعة من المتغيرات المماثلة، فكر في استخدام القاموس بدلاً من ذلك. سيوفر لك الكثير من الوقت والجهد، وسوف تشكرك نفسك في المستقبل! ?

ترميز سعيد! ?

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/aashwinkumar/how-python-dictionaries-keep-your-code-clean-and-dry-3067?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3