البرمجة

فهم أساسيات الدوال في Python

في البداية، دعني أوضح لك الخطأ الذي تواجهه وسبب حدوثه. الخطأ الذي تتلقاه ” ‘str’ object is not callable” يحدث بسبب استخدامك لمتغيرات النصوص (strings) str1 وstr2 كدوال (functions) بواسطة القوسين ()، وهذا الأمر غير صحيح في لغة البرمجة Python. في الواقع، عندما تقوم بتعريف دالة، فإنك تحتاج إلى استخدام القوسين لتعريفها وليس لتمثيل المتغيرات.

بمعنى آخر، في السطرين:

python
str1("String 1 : ") str2("String 2 : ")

أنت تحاول استدعاء المتغيرات str1 و str2 كدوال، وهذا ما يؤدي إلى حدوث الخطأ الذي تواجهه. بدلاً من ذلك، يمكنك ببساطة طباعة النص المطلوب بواسطة دالة الطباعة print().

وبالنسبة لكيفية تحقيق الهدف الأساسي الذي طلبته، ألا وهو اختبار ما إذا كانت كلمتين تشكلان أناغرام (Anagram)، يمكنك تصحيح الدالة بالشكل التالي:

python
def are_anagrams(str1, str2): s1 = sorted(str1) s2 = sorted(str2) if s1 == s2: return True else: return False # استدعاء الدالة واختبارها if are_anagrams(str1="Cat", str2="Tac"): print("These words are anagrams.") else: print("These words are not anagrams.")

في هذا التعديل، تم استبدال str1 وstr2 بمجرد تعريف الدالة، ثم تم فحص ما إذا كانت قوائم الأحرف المرتبة للكلمتين متطابقة. إذا كانت متطابقة، يتم إرجاع True، وإلا يتم إرجاع False.

أتمنى أن يكون هذا الشرح مفيدًا لك وأن يساعدك في فهم أساسيات الدوال في Python وحل مشكلتك. في حالة وجود أي استفسارات إضافية، لا تتردد في طرحها!

المزيد من المعلومات

بالطبع، سأقوم بتوسيع المقال لمساعدتك في فهم المزيد حول الدوال في Python وكيفية استخدامها بشكل فعال.

في لغة البرمجة Python، الدوال تلعب دورًا مهمًا جدًا في تنظيم وتجميع قطع الكود لجعلها أكثر إعادة استخدامًا وسهولة في الصيانة. الدوال تمثل كتل من الكود يمكن تنفيذها عند الطلب، ويمكنها أيضًا استقبال بيانات (المعاملات) وإرجاع نتيجة.

في مثال الدالة التي قمت بتوفيرها لفحص ما إذا كانت كلمتين أناغرام، تتبنى الدالة نهجًا بسيطًا:

  1. تأخذ الدالة اثنين من المعاملات (الكلمتين)، str1 و str2.
  2. تقوم بتحويل الكلمتين إلى قوائم من الأحرف وترتيبها.
  3. تقارن القوائم المرتبة. إذا كانت متطابقة، فإن الكلمتين هي أناغرام، وإلا فإنها ليست كذلك.
  4. ترجع True إذا كانت الكلمتان أناغرام، وترجع False إذا لم تكن.

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

هنا بعض الأفكار لتحسين الدالة:

  1. تجنب التحويلات غير الضرورية: بدلاً من تحويل الكلمتين إلى قوائم من الأحرف، يمكنك مقارنتها مباشرة كسلاسل نصية.
  2. تعامل مع الحالات الكبيرة والصغيرة: قم بتحويل الكلمتين إلى حالة صغيرة (lowercase) قبل المقارنة.
  3. تحسين رسائل الخطأ: قم بتوفير رسائل أخطاء معقولة توضح للمستخدم سبب عدم تطابق الكلمتين.
  4. اختبارات وحدة: قم بكتابة اختبارات لتحقق من صحة عمل الدالة في جميع الحالات الممكنة.

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

في النهاية، تتعلم لغة البرمجة Python – أو أي لغة برمجة أخرى – بالتدريب المستمر والممارسة. لا تيأس من الصعوبات التي تواجهك، بل استمر في التحدي والتطوير، وستصبح مهاراتك أقوى مع الوقت.

أتمنى لك كل التوفيق في رحلتك في تعلم Python وفي مسيرتك الأكاديمية بشكل عام. إذا كان لديك أي أسئلة أو استفسارات إضافية، فلا تتردد في طرحها وسأكون سعيدًا بمساعدتك.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر