البرمجة

تحديد قيم افتراضية في Python

في لغة البرمجة Python، لا يوجد بالضبط ما يعادل العمليات التي تقوم بها المشغلات “?. ” و “?? ” في C#. ومع ذلك، يمكن تحقيق نفس الغرض باستخدام بعض التقنيات المتاحة في Python.

للبداية، دعنا نتحدث عن المشغل “?. ” في C#. هذا المشغل يُستخدم لفحص ما إذا كان الكائن الذي يتم الوصول إليه موجودًا أم لا. في Python، يمكن القيام بذلك بطريقة مشابهة باستخدام تعبير الاختصار المعروف باسم “التعبير الشرطي” (Ternary Expression)، والذي يأخذ شكل ما يلي:

python
value = obj.attribute if obj is not None else default_value

هنا، إذا كان الكائن obj غير موجود (أي None)، سيتم تعيين value إلى default_value، وإلا سيتم الحصول على القيمة الموجودة في السمة attribute للكائن obj.

أما بالنسبة للمشغل “?? ” في C#، الذي يستخدم لتعيين قيمة افتراضية إذا كانت القيمة الأصلية متساوية لـ null، يمكن تحقيق هذا السلوك في Python باستخدام نفس التعبير الشرطي:

python
value = original_value if original_value is not None else default_value

هذا يعني أنه يمكنك استخدام التعبير الشرطي في Python لتحقيق نفس الغرض الذي تحققه المشغلات “?. ” و “?? ” في C#.

بالنسبة لسؤالك حول استخدام هذه التقنيات في سياق تطبيقك في Python (بما في ذلك IronPython)، يمكنك بسهولة تطبيق نفس الفكرة. على سبيل المثال، يمكنك استخدام التعبير الشرطي لتعيين قيم افتراضية للسمات عندما يكون الكائن موجودًا، واستخدامه مرة أخرى لتحديد قيم افتراضية إذا كان الكائن معدومًا (أي يساوي None). هذا سيتيح لك إنشاء تطبيق Python يعمل بنفس الطريقة التي تعمل بها التطبيقات التي تستخدم C#.

المزيد من المعلومات

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

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

python
armor_size = ship.armor.size if ship and ship.armor else default_armor_size armor_hitpoints = ship.armor.hitpoints if ship and ship.armor else default_armor_hitpoints armor_cost = ship.armor.cost if ship and ship.armor else default_armor_cost

في هذا المثال، إذا كانت السفينة موجودة وكان لديها مكون درع، سيتم استخدام قيم الحجم ونقاط القوة والتكلفة من هذا المكون. إلا أنه، إذا كانت السفينة غير موجودة أو لم يكن لديها مكون درع، ستتم استخدام القيم الافتراضية.

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

باختصار، على الرغم من عدم وجود مشغلات مباشرة في Python تعادل المشغلات “?. ” و “?? ” في C#، يمكن استخدام التعبيرات الشرطية في Python بنفس الطريقة لتحقيق نفس الغرض. وباستخدام هذه التقنيات بشكل مرن، يمكنك تحديد قيم افتراضية بسهولة وفعالية في تطبيقات Python، بما في ذلك تطبيقاتك التي تستخدم IronPython.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر