مشغل عدم المساواة (!=) في بايثون: دليل المبتدئين الشامل

1. ما هو “!= (ليس مساويًا)”؟ عامل مقارنة أساسي في بايثون

عامل “!=” في بايثون هو عامل مقارنة يُعيد True عندما لا تكون القيم متساوية. يمكن استخدام هذا العامل مع أنواع بيانات مختلفة مثل الأعداد والسلاسل والقوائم، ويُستَخدم أساسًا في الفروع الشرطية والتحكم في الحلقات. في برمجة بايثون الأساسية، يُعد استخدام عامل “!=” بشكل صحيح أمرًا ضروريًا لاتخاذ قرارات شرطية دقيقة.

دور عوامل المقارنة

تُستخدم عوامل المقارنة من قبل البرامج لتقييم الشروط وتحديد الإجراءات. يُعيد != القيمة True عندما لا تكون قيمتان متساويتين، مما يساعد على تقييم شروط مرن داخل البرنامج.

a = 5
b = 3

if a != b:
    print("a and b are not equal")

في هذا المثال، لأن a و b غير متساويين، يتم طباعة “a and b are not equal”. يُستخدم != للتحقق بسهولة من عدم المساواة بهذه الطريقة.

2. الاستخدام الأساسي لعامل “!=”

مقارنة الأعداد

يُستخدم != كثيرًا في مقارنات الأعداد. فحص ما إذا كان عدد ما يختلف عن قيمة معينة هو تقنية مهمة في الشروط والحلقات.

x = 10
if x != 5:
    print("x is not 5")

في هذا الكود، لأن x ليس 5، يتم طباعة “x is not 5”. مقارنة الأعداد هي واحدة من أكثر الاستخدامات الأساسية في البرمجة.

مقارنة السلاسل

يمكن أيضًا مقارنة السلاسل باستخدام !=. أدناه مثال يحدد ما إذا كانت سلسلتان غير متساويتين.

str1 = "apple"
str2 = "orange"

if str1 != str2:
    print("str1 and str2 are not equal")

نظرًا لأن str1 و str2 مختلفان، يتم عرض رسالة تقول “str1 and str2 are not equal”. تُستخدم مقارنة السلاسل غالبًا للتحقق من صحة بيانات الإدخال.

مقارنة القوائم والـ tuples

يمكن أيضًا مقارنة أنواع المجموعات مثل القوائم والـ tuples باستخدام !=. يتحقق المثال أدناه مما إذا كانت محتويات قائمتين مختلفتين.

list1 = [1, 2, 3]
list2 = [4, 5, 6]

if list1 != list2:
    print("list1 and list2 are not equal")

في هذا الكود، لأن محتويات القوائم مختلفة، يتم إنتاج النتيجة “list1 and list2 are not equal”.

侍エンジニア塾

3. استخدام الفروع الشرطية

يُستخدم != على نطاق واسع بالاشتراك مع عبارات if وحلقات while للتحكم في سلوك البرنامج بناءً على الشروط. أدناه بعض أمثلة الاستخدام.

مثال على الاستخدام في عبارة if

استخدام عامل != في عبارة if مفيد عندما تريد تنفيذ كود عندما لا تكون القيمة مساوية لقيمة معينة. يتحقق المثال أدناه مما إذا كان الرقم الذي أدخله المستخدم يختلف عن قيمة معينة.

user_input = int(input("Please enter a number: "))

if user_input != 42:
    print("The number you entered is not 42")
else:
    print("The number you entered is 42")

في هذا الكود، إذا أدخل المستخدم رقمًا غير 42، يتم عرض “It is not 42″، وإذا أدخل 42، يتم عرض “It is 42”.

مثال على الاستخدام في حلقة while

يُستخدم != أيضًا للتحكم في الحلقات في عبارات while. يُظهر المثال أدناه كودًا يستمر في التكرار حتى يتحقق شرط معين.

password = ""

while password != "python123":
    password = input("Please enter your password: ")

print("The correct password has been entered")

في هذا المثال، تستمر الحلقة حتى يُدخل المستخدم كلمة المرور الصحيحة، ثم يتم عرض رسالة.

يمكن استخدام عامل != ليس فقط في العبارات الشرطية ولكن أيضًا في تعبيرات القوائم وغيرها من الصيغ. بعد ذلك، سنعرض مثالًا باستخدام تعبير قائمة.

numbers = [1, 2, 3, 4, 5]
filtered_numbers = [num for num in numbers if num != 3]

print(filtered_numbers)

في هذا الكود، نستبعد الرقم “3” من القائمة ونخزن الأرقام المتبقية في قائمة جديدة. بهذه الطريقة، يكون != مفيدًا أيضًا عندما تحتاج إلى استبعاد عناصر معينة.

5. الفرق بين “!=” و “is not”

في بايثون، يُستخدم “!=” و “is not” لأغراض مختلفة. يُستخدم “!=” لمقارنة القيم، بينما يتحقق “is not” مما إذا كانت الكائنات مختلفة.

مقارنة القيم

!= يتحقق مما إذا كانت قيمتين غير متساويتين. في المثال أدناه، يحدد ما إذا كان محتوى قائمتين متساويًا.

a = [1, 2, 3]
b = [1, 2, 3]

if a != b:
    print("a and b are not equal")
else:
    print("a and b are equal")

هنا، لأن محتوى القائمة متساوٍ، يتم عرض “a و b متساويان.”

مقارنة الكائنات

من ناحية أخرى، يُستخدم “is not” للتحقق مما إذا كانت الكائنات هي نفسها.

a = [1, 2, 3]
b = [1, 2, 3]

if a is not b:
    print("a and b are not the same object")

في هذا المثال، محتوى القائمة متساوٍ، ولكن بما أن a و b كائنات مختلفة، يتم عرض “a و b ليسا نفس الكائن.”

侍エンジニア塾

6. المقارنة مع لغات برمجة أخرى

توجد علامة “!=” في بايثون أيضًا في لغات برمجة أخرى، لكن الصياغة والسلوك قد يختلفان. سنستعرض هنا أمثلة من جافاسكريبت وجافا.

الاختلافات مع جافاسكريبت

في جافاسكريبت، توجد != و !==. != يتحقق مما إذا كانت القيم غير متساوية، بينما !== يتحقق مما إذا كان كل من القيمة والنوع مختلفين.

let a = 5;
let b = "5";

console.log(a != b); // false
console.log(a !== b); // true

في جافاسكريبت، تُستخدم !== عند مراعاة اختلاف الأنواع، لكن بايثون لا تملك هذا التمييز.

الاختلافات مع جافا

في جافا، تُستخدم != بطريقة مشابهة لبايثون. يوضح المثال أدناه كيفية استخدام != في جافا.

int a = 5;
int b = 10;

if (a != b) {
    System.out.println("a and b are not equal");
}

في جافا، تُستخدم != مثل بايثون، وتعيد True عندما تختلف القيم.

7. الأخطاء الشائعة وحلولها

!= فهم الأخطاء التي تحدث كثيرًا عند استخدام != وكيفية معالجتها يجعل من السهل تجنّب الأخطاء.

كيفية تجنّب SyntaxError

يمكن تجنّب الأخطاء الناتجة عن أخطاء الصياغة في != بكتابتها بشكل صحيح. فيما يلي مثال على كود غير صحيح.

if 5 ! 3:
    print("An error occurs")

هذا الكود يسبب SyntaxError. الصياغة الصحيحة هي كما يلي.

if 5 != 3:
    print("No error occurs")

معالجة الأخطاء باستخدام استثناءات

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

try:
    x = int(input("Please enter a number: "))
    if x != 10:
        print("The entered number is not 10")
    else:
        print("The entered number is 10")
except ValueError:
    print("Invalid input detected. Please enter a number.")

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

8. الخلاصة

عامل “!=” في بايثون أداة مفيدة جدًا لتحديد ما إذا كانت القيم غير متساوية في البرنامج. فهو لا يتحقق فقط من المساواة بل يمكن أيضًا استخدامه مع أنواع بيانات مختلفة، ويلعب دورًا مهمًا في الفروع الشرطية والتحكم في الحلقات. علاوة على ذلك، مقارنةً بلغات برمجة أخرى (مثل جافاسكريبت وجافا)، يتميز بايثون ببساطته واستخدامه البديهي.

  • الاستخدام الأساسي : يمكن استخدام != مع العديد من أنواع البيانات مثل الأعداد، السلاسل النصية، القوائم، وال tuples.
  • الاستخدام في الفروع الشرطية : يُستَخدم كثيرًا في تعبيرات الشروط في عبارات if و while، مما يسمح بتنفيذ المعالجة بناءً على شروط محددة.
  • المقارنة مع لغات أخرى : جافاسكريبت لديها !== التي تأخذ اختلاف النوع في الاعتبار، لكن بايثون يركز على مقارنة القيم.
  • معالجة الأخطاء : من خلال تجنّب الأخطاء الشائعة في الصياغة ومدخلات المستخدم باستخدام معالجة الاستثناءات، يمكنك إنشاء برامج أكثر صلابة.

من خلال إتقان فهم واستخدام “!=” في بايثون، ستتمكن من كتابة كود مرن وفعّال. هذه المعرفة تصبح عنصرًا أساسيًا لتعزيز أسس البرمجة.

侍エンジニア塾