## أنواع المعاملات في 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) ```
| 1 | # معاملات افتراضية |
| 2 | def create_profile(name, age=0, city="غير محدد"): |
| 3 | return f"{name} | العمر: {age} | المدينة: {city}" |
| 4 | |
| 5 | print(create_profile("أحمد")) |
| 6 | print(create_profile("سارة", 25)) |
| 7 | print(create_profile("علي", 30, "الرياض")) |
مثال 1: *args - معاملات متغيرة العدد
| 1 | def calculate_sum(*numbers): |
| 2 | """حساب مجموع أي عدد من الأرقام""" |
| 3 | return sum(numbers) |
| 4 | |
| 5 | print(calculate_sum(1, 2, 3)) # 6 |
| 6 | print(calculate_sum(1, 2, 3, 4, 5)) # 15 |
| 7 | print(calculate_sum(10, 20)) # 30 |
مثال 2: **kwargs - معاملات بالاسم
| 1 | def create_user(**info): |
| 2 | print("إنشاء مستخدم:") |
| 3 | for key, value in info.items(): |
| 4 | print(f" {key}: {value}") |
| 5 | |
| 6 | create_user(name="أحمد", age=25, role="admin", active=True) |