0555333017

اهلا بكم فى الموقع الرسمى للمهندس خالد ابو ابراهيم

 المدير التنفيذي للمضيف الاول للاتصالات وتقنية المعلومات (ون هوست) والخبير في مواقع التواصل الاجتماعي 

مقدمة واساسيات في لغة البايثون >>الجزء الثالث

الدوال هي:
تقسيم الاوامر والمهام
لماذا نستخدم الدوال:
 
تنظيم للبرنامج
تسهيل العمل
اختصار الكود
الوصول السريع للأخطاء وسهولة معالجتها
تسهل عملية التطوير
....الخ
 
اجزاء الدالة:
تتكون الدالة من جزئيين رئيسية
اسم الدالة
قيمة الدالة
وجزء اختياري يسمى parametersلا اعرف حقيقتا  ترجمته الصحيحة للعربية لكن بمعنى متغيرات مخصصه لدالة تعبئ وقت الاستعداء ويتم التعويض فيها بمكان تعيينها بالدالة
def test():
  name=“ali”
  return name
 
def هذي كلمة محجوزة عند كتابتها يفهم البرنامج ان هذي دالة
ثم مسافة ونكتب اسم الدالة ونفتخ قوس ونغلقه
الحين دخلنا الدالة
عرفت متغير اسمه name واعطيته قيمة
واخر سطر كتبت return name
بمعنى الان قيمة الدالة ali
 
طريقة الاستدعاء:
test()
لو نبغا نطبع البيانات الي في الدالة نكتب
print(test())
الدالة هذي تطبع لنا فقط اسم ali
لو لدينا 20 اسم مثلا هل انشئ 20دالة لا
فقط تضع parameter للدالة ويصير تدخل الاسم عند الاستعداء
def test(name):
 name=name
  return name
 
نفس الدالة السابقة بس بين القوسين سجلت parameter اسمه name طبعا تحديد عدد parameters يرجع لوظيفة الدالة وكم تحتاج
 تعبئة parameter للدالة
print(test(“ali”))
print(test(“mohammed”))
print(test(“ahmed”))
 
هذا مثال فقط لكن مستقبلا عند زيادة المهام  ستحتاج الدوال
ليس من المنطق تكرار  اكواد لمهمه معينه عشرات المرات وبأسطر كثيرة
المنطق ان تنشئ دالة واحده فيه الكود كامل والاشياء المتغيرة اعملها
parameters
ومن ثم تعوض فيها وقت الاستعداء وخلاص
حتى في التطوير مستقبلا تسهل عليه العمل
 
 
دالة لجمع رقمين
 
def sum(num1,num2):
    return num1 + num2
print(sum(5,6))
print(sum(10,8))
def sum(num1,num2):
    return num1 + num2
print(sum(5,6))
print(sum(10,8))
 
دالة هي دالة لتنقص الأخطاء try وexcept
 مثال حي عن فائدتها
برمجة نظام قبل فترة وفي النظام اشتراك من طرف ثالث (API) لربط إضافة معينه للنظام انشئت دالة وفيها parameters حقها للأشياء المتغيرة عشان ما كرر الكود في كل مكان احتاج الكود ذا
وعملت بداية الدالة try
وداخلها كتبت كود الربط وكل الي احتاجه وبعدين كتبت
except
وكتبت هنا قيم افتراضية في حالة لم يتنفذ الكود الذي فيtry  وخليت النظام يرسل ايميل لي  كإشعار لي ان في الطرف الثالث مشكلة
 
وبالفعل انتهى الاشتراك ووصلني اشعار من النظام والنظام شغال بدون اي مشاكل
 
لو انا لم استخدم دالة try كان النظام يتوقف بكل الصفحات التي فيه استدعاء للدالة وهذي كارثه وتفاديها بسيط جدا
 
try:
  print(x)
except:
  print(" var x problem ") 
 
لو نلاحظ كتبت try ثم كتبت داخلها كود 
ثم كتبت except وداخلها كود
 
ايش الي يصير الان:
في الاول النظام بيدخل على try ويحاول ينفذ الكود الي فيها في حالة ماقدر ينفذه لأي سبب كان بينزل except ويعطينا الكود الي فيها
طيب كيف انا اعرف ايش السبب الي مانفذ try
الاخطاء الي ممكن يتعرف عليها النظام كثيرة لكن بذكرها بعضها
 
try:
    with open('image.png') as file:
        read_data = file.read()
except FileNotFoundError as e:
    print(e)
 
هذا النوع من الاخطاء نستخدمه للملفات FileNotFoundError
try:
   print(x)
except Exception as e:
   print(e)
Exception هذا النوع من الاخطاء غالبا ملم بأغلب الاخطاء الي ممكن تصير
مفيده جدا لإكتشاف الاخطاء وايضا تقدر تحط حاجات بديله تظهر للمستخدم وانت كا ادمن مثلا يوصلك اشعار بانه في خطأ معين بالمكان ذا