Maram Jouriah نشر 25 أبريل 2021 أرسل تقرير نشر 25 أبريل 2021 a = 'pub' b = ''.join(['p', 'u', 'b']) a == b True a is b False ما الفرق بين == وis علماً انو الحالتين هيي للتأكد من ان المتغيرين متساويين 1 اقتباس
1 محمد أبو عواد نشر 25 أبريل 2021 أرسل تقرير نشر 25 أبريل 2021 مرحبا مرام يقارن عامل المساواة (==) قيم كل من المعاملات ويتحقق من تساوي القيمة. أما العامل "is" يتحقق مما إذا كان كلا المعاملين يشيران إلى نفس الكائن أم لا, لنشرح ذلك بمثال list1 = [] list2 = [] //المقارنة الأولى if (list1 == list2): print("True") else: print("False") //المقارنة الثانية if (list1 is list2): print("True") else: print("False") في المقارنة الأولى نقارن هل قيمة list1 هي نفسها قيمة list2, سوف يطبع true لأن القيم بالفعل متساوية في المقارنة الثانية نقارن هل list1 يشير الى نفس الكائن الذي يشير اليه list2 , بالطبع لا فسوف يطبع false شكرا لك اقتباس
0 Wael Aljamal نشر 25 أبريل 2021 أرسل تقرير نشر 25 أبريل 2021 في لغة بايثون يتم استخدام المعامل == للتأكد من تطابق قيمة متغيرين فهي تعيد true عند تساوي القيمتين اللتين نطبق عليهما هذا الشرط. يمكن استخدام == لمقارنة قيمتين لمتغيرات أو أغراض variable | Objects. أما الكلمة المفتاحية is تستعمل عندما نريد التأكد أن المتغيران يشيران لنفس العنوان في الذاكرة (أي لهما نفس القيمة و تعديل أحدهما يسبب تعديل الآخر). == تعيد true في جميع الحالات التي تكون القيمتين متساويتين، أما is تعيد true فقط في حال كان طرفي المقارنة يشيران لنفس الكينونة | الكيان (نفس الغرض) | نفس عنوان الذاكرة. 1==True => returns True, but 1 is True => returns False ====== أمثلة: # python3 code to # illustrate the # difference between # == and is operator # [] is an empty list list1 = [] list2 = [] list3=list1 if (list1 == list2): # true نفس القيمة if (list1 is list2): # false غرضين مختلفين if (list1 is list3): # true نفس الغرض list3 = list3 + list2 if (list1 is list3): # false أصبحا غرضين مختلفين عند تعريف قائمتين : list1 = [] list2 = [] print(id(list1)) print(id(list2)) # output 139877155242696 139877155253640 وباستخدام الدالة id التي تعيد المعرف الخاص بكل غرض، نلاحظ أنهما مختلفتين.. لذلك is تعيد false فهما فعلياً ليسا نفس الغرض عملية الإسناد في المثال السابق list3 = list1 أدت لأن تأخذ القائمة 3 عنوان و قيمة القائمة الأولى لذلك هما متطابقتين وليس فقط متساويتين بالقيمة لذلك is تعيد true في هذه الحالة. اقتباس
السؤال
Maram Jouriah
ما الفرق بين == وis
علماً انو الحالتين هيي للتأكد من ان المتغيرين متساويين
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.