-
مقدمة: لماذا نمرر البيانات؟ تخيل أن الدالة هي “ماكينة صراف آلي”. لكي تعمل وتعطيك النتيجة الصحيحة، يجب أن تمرر لها شيئين: (بطاقتك) و (الرقم السري). بدون هذه البيانات، الماكينة موجودة لكنها لا تفعل شيئاً خاصاً بك. في هذا الدرس، سنتعلم كيف نرسل المعلومات إلى الدالة لتقوم بمعالجتها.
-
الفرق بين المعامل (Parameter) والمعطى (Argument) كثير من المبرمجين يخلطون بينهما، لكن إليك الفرق ببساطة:
المعامل (Parameter): هو المتغير الذي نكتبه أثناء “بناء” الدالة (مثل مكان وضع البطاقة).
المعطى (Argument): هي القيمة الحقيقية التي نرسلها للدالة عند “استدعائها” (مثل بطاقتك أنت).
- أنواع تمرير البيانات في بايثون:
- أ. المعطيات المطلوبة (Required Arguments): هنا يجب عليك تمرير البيانات بنفس الترتيب وبنفس العدد، وإلا سيحدث خطأ.
-
:def student_info(name, age)
(“{age} : العمر، {name} :الطالب”f)print# يجب تمرير الاسمين بالترتيب
(“ياسين”, 20)student_infoب. المعطيات الافتراضية (Default Arguments):
يمكنك وضع قيمة “احتياطية” للدالة تستخدمها إذا نسي الطالب إدخال معلومة معينة.
(“أهلاً بك في أكاديمية قياوي”=name, message)def welcome
print(f”{name}، {message}”)ستستخدم الرسالة الافتراضية #(“ياسين”) welcome
ستستخدم الرسالة الجديدة # (“أحمد”, “صباح الخير”) welcomeج. المعطيات المسماة (Keyword Arguments):
هنا لا يهم الترتيب، لأنك تحدد اسم المعامل بوضوح. - الترتيب مختلف لكن الكود صحيح#(“ليلى”=age=25, name) student_info
- تمرير عدد غير محدود من البيانات (Args*)
- أحياناً لا تعرف كم عدداً من البيانات سيرسل الطالب. نستخدم علامة النجمة * لجعل الدالة تستقبل أي عدد من القيم.
- :def print_courses(*courses)
:for course in courses
(“كورس: {course}”f)print(“بايثون”, “ذكاء اصطناعي”, “أمن سيبراني”)print_courses
- نصيحة المحترف لطلاب “أكاديمية قياوي”: “استخدام القيم الافتراضية (Default Arguments) يجعل دالتك مرنة جداً ويحمي برنامجك من التوقف إذا نسي المستخدم إدخال بيانات معينة. اجعل دوالك دائماً مستعدة لكل الاحتمالات!”