مقتطف · عام

معنى Parameter و Argument في البرمجة: ما الفرق بينهما؟

تاريخ التحديث: 14 أكتوبر 2026قراءة 3 دقائق

باختصار

معنى Parameter بالعربي «مُعامِل»، ومعنى Argument «وسيط» أو قيمة مُمرَّرة. الفرق بينهما بالرسم وبأمثلة Python وJavaScript وPHP.

معنى Parameter بالعربي: «مُعامِل».

وهو المتغيّر الذي نكتبه في تعريف الدالة.

معنى Argument بالعربي: «وسيط» أو «قيمة مُمرَّرة».

وهو القيمة الحقيقية التي نرسلها عند استدعاء الدالة.

معنى Parameter و Argument بالعربي

الكلمةالمعنى بالعربي
Parameter
الجمع: Parameters
مُعامِل (معاملات)
الاسم الذي ننتظر فيه قيمة، في تعريف الدالة
Argument
الجمع: Arguments
وسيط / قيمة مُمرَّرة (وسائط)
القيمة الفعلية التي نرسلها عند استدعاء الدالة

💡 خارج البرمجة: Argument في الإنجليزية العامة تعني «حُجّة» أو «نقاش»، وParameter تعني «مَعلَمة» أو «حدّ» يضبط شيئًا ما. أما في البرمجة فالمعنى ما في الجدول.

الفرق بين Parameter و Argument بالرسم

1) تعريف الدالة: نكتب الـ Parameters def add( x , y ): خانات فارغة x = 3, y = 5 add( 3 , 5 ) قيم حقيقية 2) استدعاء الدالة: نرسل الـ Arguments
الـ Parameters خانات فارغة في تعريف الدالة، والـ Arguments هي القيم التي تملأ هذه الخانات عند الاستدعاء.

تشبيه بسيط

تخيّل استمارة تسجيل فيها خانتان: «الاسم» و«العمر».

الخانتان المطبوعتان في الاستمارة هما الـ Parameters.

وما تكتبه فيهما، مثل «سارة» و«20»، هو الـ Arguments.

الاستمارة نفسها تبقى كما هي، وكل شخص يملؤها بقيم مختلفة.

مثال بالكود

الفكرة واحدة في كل لغات البرمجة. هذه الدالة نفسها في Python وJavaScript وPHP:

# Python
def add(x, y):      # x, y = parameters
    return x + y

print(add(3, 5))    # 3, 5 = arguments  → 8
// JavaScript
function add(x, y) {        // x, y = parameters
  return x + y;
}
console.log(add(3, 5));     // 3, 5 = arguments  → 8
<?php
// PHP
function add($x, $y) {      // $x, $y = parameters
    return $x + $y;
}
echo add(3, 5);             // 3, 5 = arguments  → 8

جرّبتُ الأمثلة الثلاثة، وكلها تطبع 8.

أين ستراها في رسائل الأخطاء؟

إذا استدعيت الدالة السابقة في Python بقيمة واحدة فقط، add(3)، تظهر هذه الرسالة:

TypeError: add() missing 1 required positional argument: 'y'

أي: «ينقص الدالة وسيط واحد مطلوب، لملء المعامل y». لهذا من المفيد أن تعرف الكلمتين؛ فهما تظهران كثيرًا في رسائل الأخطاء والتوثيق.

القيمة الافتراضية: معامل لا يحتاج دائمًا إلى وسيط

يمكن أن نعطي المعامل قيمة افتراضية، فيصبح إرسال الوسيط له اختياريًا:

def greet(name, greeting="Hello"):
    return f"{greeting}, {name}!"

print(greet("Sara"))             # Hello, Sara!
print(greet("Ali", "Welcome"))   # Welcome, Ali!

لذلك لا يُشترط دائمًا أن يساوي عدد الوسائط عدد المعاملات.

Parameter و Hyperparameter في الذكاء الاصطناعي

في الذكاء الاصطناعي للكلمة معنى آخر قريب:

  • المعامِلات (Parameters): أرقام كثيرة داخل النموذج، تُسمّى أيضًا الأوزان، يتعلّمها النموذج بنفسه أثناء التدريب. شرحتُها في درس «ما النموذج؟».
  • المعامِلات الفائقة (Hyperparameters): إعدادات يختارها المطوّر قبل التدريب، ولا يتعلّمها النموذج، مثل سرعة التعلّم وعدد مرات التدريب على البيانات.

باختصار: الـ Parameter (المعامل) اسمٌ في تعريف الدالة ينتظر قيمة، والـ Argument (الوسيط) هو القيمة التي نرسلها له عند الاستدعاء.