نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر

نوفيل
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
دخولابدأ مجاناً
الرئيسيةالكورساتالتحديات⚔️ المبارزاتالمقالاتالأدواتتغريداتالمجتمع
PY

منهج Python

دليل مرجعي شامل

كل اللغات
مدرسة البرمجة/منهج Python/المعاملات والقيم الافتراضية (Arguments & Default Values)

المعاملات والقيم الافتراضية (Arguments & Default Values)

معاملات الدوال pythondefault arguments python*args **kwargs pythonfunction arguments python

الشرح

## أنواع المعاملات في Python

### 1. Positional Arguments (ترتيبية): تُمرَّر حسب الترتيب ```python def greet(name, city): print(f"{name} من {city}") greet("أحمد", "القاهرة") ```

### 2. Keyword Arguments (بالاسم): تُمرَّر باسم المعامل ```python greet(city="الرياض", name="سارة") ```

### 3. Default Arguments (افتراضية): قيمة تُستخدم إذا لم تُمرَّر ```python def greet(name, lang="بايثون"): print(f"{name} يتعلم {lang}") greet("أحمد") # يستخدم الافتراضي greet("علي", "جافا") # يُعيّن القيمة ```

### 4. *args و **kwargs: ```python def total(*numbers): # tuple من أي عدد return sum(numbers)

def info(**data): # dict من أي أزواج for k, v in data.items(): print(k, v) ```

الصياغة (Syntax)

syntax
1# معاملات افتراضية
2def create_profile(name, age=0, city="غير محدد"):
3 return f"{name} | العمر: {age} | المدينة: {city}"
4
5print(create_profile("أحمد"))
6print(create_profile("سارة", 25))
7print(create_profile("علي", 30, "الرياض"))

أمثلة عملية

مثال 1: *args - معاملات متغيرة العدد

*args - معاملات متغيرة العدد
1def calculate_sum(*numbers):
2 """حساب مجموع أي عدد من الأرقام"""
3 return sum(numbers)
4
5print(calculate_sum(1, 2, 3)) # 6
6print(calculate_sum(1, 2, 3, 4, 5)) # 15
7print(calculate_sum(10, 20)) # 30

مثال 2: **kwargs - معاملات بالاسم

**kwargs - معاملات بالاسم
1def create_user(**info):
2 print("إنشاء مستخدم:")
3 for key, value in info.items():
4 print(f" {key}: {value}")
5
6create_user(name="أحمد", age=25, role="admin", active=True)

نصائح احترافية

  • —**نصائح المعاملات:**
  • —الترتيب: positional → *args → keyword → **kwargs
  • —المعاملات ذات القيم الافتراضية يجب أن تأتي بعد غير المحددة
  • —لا تستخدم قوائم أو قواميس كقيم افتراضية! استخدم None ثم أنشئها داخل الدالة
  • —Type Hints مع المعاملات: `def func(name: str, age: int = 0) -> None:`

الدرس السابق

بناء واستدعاء الدوال (Defining & Calling Functions)

الدرس التالي

إرجاع القيم من الدوال (Return Statement)

نوفيل

منصة تعليم البرمجة الأولى بالعربي. تعلم من الصفر حتى الاحتراف مع كورسات احترافية وتحديات ذكاء اصطناعي.

المنصة

  • الكورسات
  • التحديات
  • المقالات
  • الأدوات

الحساب

  • إنشاء حساب
  • تسجيل الدخول
  • لوحة التحكم
  • الملف الشخصي

روابط

  • سياسة الخصوصية
  • شروط الاستخدام
  • عن نوفيل
  • تواصل معنا

© 2026 نوفيل. جميع الحقوق محفوظة.

صُنع بـ في مصر