جمل if في بايثون سطر واحد: العوامل الشرطية الثلاثية وتراكيب القوائم

1. المقدمة

في برمجة بايثون، كتابة جملة if في سطر واحد تساعد على تبسيط الكود وتكون مفيدة بشكل خاص في الحالات التي يحدث فيها تفرع شرطي بشكل متكرر. في هذه المقالة، نشرح بالتفصيل عدة تقنيات لكتابة جمل “if” في بايثون على سطر واحد. تعلّم كيف تكتب كودًا مقروءًا وفعّالًا مع أمثلة عملية مثل المشغل الثلاثي (ternary) وتراكيب القوائم.

2. كيفية كتابة جمل if في سطر واحد باستخدام المشغل الثلاثي في بايثون

في بايثون، يمكنك كتابة جملة if في سطر واحد باستخدام المشغل الثلاثي (التعبير الشرطي). وهو مفيد عندما تحتاج لإرجاع قيمة بناءً على شرط ويسمح لك بالحفاظ على اختصار الكود.

صيغة المشغل الثلاثي

المشغل الثلاثي في بايثون يُكتب هكذا:

variable = value1 if condition else value2

بهذه الصيغة، يتم إرجاع “value1” إذا كان الشرط True، ويتم إرجاع “value2” إذا كان False.

مثال: التحقق من كون العدد زوجيًا أو فرديًا

على سبيل المثال، يمكنك التحقق مما إذا كان العدد زوجيًا أو فرديًا وإرجاع سلاسل مختلفة بناءً على النتيجة، هكذا:

number = 4
result = "even" if number % 2 == 0 else "odd"
print(result)  # Output: even

لأنك تستطيع كتابة جملة if في سطر واحد بهذه الطريقة، فإن ذلك يكون مريحًا جدًا للفروع الشرطية البسيطة.

تطبيقات عملية للمشغل الثلاثي

على سبيل المثال، يمكنك استخدام المشغل الثلاثي لعرض رسالة اعتمادًا على ما إذا كان المستخدم مسجلاً الدخول أم لا.

is_logged_in = True
message = "Welcome" if is_logged_in else "Please log in"
print(message)  # Output: Welcome

المشغل الثلاثي مثالي للاختيارات البسيطة بناءً على شرط. ومع ذلك، كتابة منطق معقد في سطر واحد قد تضر بالقراءة، لذا يُنصح باستخدامه فقط للحالات البسيطة.

年収訴求

3. دمج تراكيب القوائم وجمل if

توفر تراكيب القوائم في بايثون طريقة قوية لكتابة كود مختصر لإنشاء القوائم. عند دمجها مع جمل if، يمكنك إنشاء قوائم وفقًا لشروط محددة.

الصيغة الأساسية لتراكيب القوائم

عند استخدام جملة if في تركيب قائمة، تكتبها هكذا:

list = [expression for variable in iterable if condition]

مثال: إنشاء قائمة بالأعداد الزوجية

لجمع الأعداد الزوجية فقط من 0 إلى 9 في قائمة، اكتبها هكذا:

even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers)  # Output: [0, 2, 4, 6, 8]

أمثلة تطبيقية لتراكيب القوائم

تُعد تراكيب القوائم مفيدة أيضًا لتصفية وتحويل البيانات. على سبيل المثال، يمكنها المساعدة عند استخراج الكلمات ذات الطول المحدد من قائمة سلاسل.

words = ["apple", "banana", "cherry", "date"]
filtered_words = [word for word in words if len(word) > 5]
print(filtered_words)  # Output: ['banana', 'cherry']

باستخدام تراكيب القوائم، يمكنك تقصير الكود مع استخراج أو تحويل البيانات بفعالية بناءً على الشروط.

4. الاستخدام في سطر واحد لجمل if و for في بايثون

من خلال دمج جمل for و if، يمكنك كتابة سطر واحد من الكود يعالج فقط العناصر التي تفي بشرط معين. هذا مفيد لتبسيط عمليات القوائم الكبيرة.

الصيغة في سطر واحد لجمل if و for

الصيغة الأساسية كالتالي.

list = [expression for variable in iterable if condition]

مثال: إنشاء قائمة بمربعات الأعداد الزوجية

لإنشاء قائمة بمربعات الأعداد الزوجية من 1 إلى 10، استخدم ما يلي.

squared_evens = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squared_evens)  # Output: [4, 16, 36, 64, 100]

مثال تطبيقي: تصفية البيانات بناءً على شروط محددة

يقوم هذا الكود باستخراج الأعداد الموجبة فقط من قائمة وجمعها في قائمة جديدة.

numbers = [-5, -1, 2, 8, -3, 7]
positive_numbers = [num for num in numbers if num > 0]
print(positive_numbers)  # Output: [2, 8, 7]

كتابة if و for معًا في سطر واحد بهذه الطريقة تقلل من تكرار الكود مع تمكين معالجة البيانات بفعالية.

5. جملة if في سطر واحد مع تعبير الإسناد (مشغل الوالروس)

عبارة الإسناد (عامل الحوت) :=، التي تم تقديمها في بايثون 3.8 وما بعده، تسمح بالإسناد إلى متغيّر داخل جملة if. الميزة الأساسية لها هي أنها تمكّنك من تقييم شرط مع تخزين نتيجة العملية في الوقت نفسه.

الصياغة والاستخدام الأساسي لعبارات الإسناد

الصياغة والاستخدام الأساسي لعبارات الإسناد

if (variable := expression) condition:
    process

مثال: استخدام طول القائمة كشرط

يتم جلب طول القائمة وتقييمه كشرط، مع تنفيذ المعالجة بناءً عليه في الوقت نفسه.

some_list = [1, 2, 3, 4, 5]
if (length := len(some_list)) > 3:
    print(f"The length of the list is {length}, which is greater than 3")
# Output: The length of the list is 5, which is greater than 3

حالات الاستخدام العملية

باستخدام عامل الحوت، يمكنك تجنّب الحسابات المتكررة وربما تحسين الأداء. يكون ذلك فعالًا بشكل خاص في الحالات التي يحتاج فيها نتيجة حساب—مثل عمليات القوائم أو السلاسل—إلى إعادة الاستخدام.

6. ملاحظات حول استخدام جمل if ذات السطر الواحد

جمل if ذات السطر الواحد قوية، لكن الإفراط في استخدامها قد يقلل من قابلية القراءة. استخدمها فقط للتحقق البسيط من الشروط، وانتقل إلى جمل if العادية عندما تتطلب المنطقية أكثر تعقيدًا.

7. الخلاصة والخطوات التالية

في هذه المقالة، قدمنا تقنيات مختلفة لكتابة جمل if في بايثون على سطر واحد. من الفروع الشرطية البسيطة إلى معالجة القوائم واستخدام عامل الحوت، غطينا الفوائد والتحذيرات المتعلقة بجمل if ذات السطر الواحد. جرّب تطبيق هذه التقنيات لجعل برمجة بايثون اليومية أكثر كفاءة.

RUNTEQ(ランテック)|超実戦型エンジニア育成スクール