33- كورس لغة بايثون Python – Python None

شرح مفصل لـ Python None

مفهوم Python None

تعتبر الكلمة المحجوزة None في لغة البرمجة Python نوعًا خاصًا من أنواع البيانات تستخدم لتمثيل قيمة فارغة أو غياب قيمة. يمكن اعتبارها بمثابة مكافئ لـ “لا شيء” أو “غير مُعرّف”. يتم استخدام None في عدة سيناريوهات مثل عندما ترغب في تهيئة متغير بدون إعطائه قيمة مبدئية، أو عند الحاجة إلى إعادة قيمة فارغة من دالة لم تُرجع نتيجة محددة. تعد None كائنًا وحيدًا من نوع NoneType، مما يعني أنه لا يوجد سوى نسخة واحدة منها في الذاكرة.

يجب أن نلاحظ أن None ليس مكافئًا للقيم الزائفة الأخرى مثل 0 أو False أو القوائم أو السلاسل الفارغة. في السياقات الشرطية، يتم تقييم None كقيمة زائفة، مما يعني أنها تُعامَل على أنها False في العبارات الشرطية.

استخدامات Python None في البرمجة

من الاستخدامات الشائعة لـ None هو تهيئة المتغيرات التي سيتم تعيين قيم حقيقية لها لاحقًا خلال تنفيذ البرنامج. هذا يساعد في تحسين قراءة الكود والحد من الأخطاء التي قد تنشأ عن استخدام متغيرات غير مهيأة. على سبيل المثال:

def البحث_عن_القيمة(القائمة, القيمة):
    index = None
    for i, item in enumerate(القائمة):
        if item == القيمة:
            index = i
            break
    return index

القائمة = [10, 20, 30, 40]
print(البحث_عن_القيمة(القائمة, 30))  # Output: 2
print(البحث_عن_القيمة(القائمة, 50))  # Output: None

في المثال أعلاه، يتم تهيئة المتغير index بالقيمة None، مما يشير إلى أنه لم يتم العثور على القيمة المطلوبة في القائمة. إذا تم العثور على القيمة، يتم تحديث index بالقيمة المناسبة.

كما يتم استخدام None في الدوال التي لا تُرجع قيمة صريحة. بشكل افتراضي، أي دالة لا تحتوي على عبارة return تُرجع None:

def طباعة_رسالة():
    print("مرحبًا بالعالم!")

result = طباعة_رسالة()
print(result)  # Output: None

في هذا المثال، تقوم الدالة طباعة_رسالة بطباعة رسالة ولكنها لا تحتوي على عبارة return، لذا تُرجع None بشكل افتراضي.