:= معامل الفظ (تعبير الإسناد)
آخر تحديث: 2026-09-22
:= معامل الفظ (تعبير الإسناد)
:= هو معامل الفظ الذي أُدخل في PEP 572، ويتيح الإسناد داخل تعبير وإرجاع القيمة。
| التصنيف | العوامل |
|---|---|
| النوع | عامل |
| إصدار بايثون | 3.8+ |
📝 الصياغة
name := value
▶ مثال
عدّل الكود واضغط تشغيل لرؤية النتيجة في لوحة المخرجات:
المخرجات:
3.0
3.0
💡 تلميح := مناسب لإعادة استخدام الحسابات المكلفة في شروط if / while。
💡 حالات ذات صلة
المزيد من الحالات قادم قريباً — تابعونا.
❓ أسئلة شائعة
Qما الفرق بين := و=?
A`:=` تعبير: يمكنه إسناد قيمة داخل حالة مثل `if` أو `while` مع إرجاع تلك القيمة أيضًا. بينما `=` عبارة ولا تظهر في موضع تعبير. `if (x = 5):` خطأ نحوي، بينما `if (x := 5):` صالحة.
Qما إصدار بايثون الذي يتطلبه `:=`؟
Aبايثون 3.8+ (PEP 572). على 3.7 فما دون يُحدث `SyntaxError: invalid syntax`.
Qما الاستخدام الكلاسيكي لـ `:=`؟
Aالقراءة-ثم-الاختبار في حلقة `while`: `while (line := f.readline()):` يعالج كل سطر؛ أو إعادة استخدام حساب مكلف في حالة: `if (root := math.sqrt(x)) > 2:` يستخدم `root` مباشرةً.
Qمتى يجب ألا تستخدم `:=`؟
Aتجنّبه كلما استطعت. الإسناد العادي أوضح في معظم السيناريوهات؛ الإفراط في استخدام عامل حصان البحر يضر بسهولة القراءة. يقترح PEP 572 استخدامه فقط لتجنب الحساب المتكرر ولجعل المنطق أكثر اختصارًا.