SORU
1 EKİM 2009, PERŞEMBE


Neden Python karşılaştırma dizeleri kullanarak'==' veya '' bazen farklı bir sonuç mu?

İki değişken değeri 'public' için belirlenen bir python programı var. Koşullu ifadede karşılaştırma başarısız olan var1 is var2 var, ama ben var1 == var2 değiştirmek True verir.

şimdi python yorumlayıcısı benim açtığım "" başarılı bir karşılaştırma . aynı şeyi yaparsa

>>> s1 = 'public'
>>> s2 = 'public'
>>> s2 is s1
True

Burada neyi kaçırıyorum?

CEVAP
1 EKİM 2009, PERŞEMBE


is kimlik testi, == eşitlik test ediyor. kodunuzda ne böyle: yorumlayıcı taklit olurdu

>>> a = 'pub'
>>> b = ''.join(['p', 'u', 'b'])
>>> a == b
True
>>> a is b
False

yani, hiç şüphe yok ki aynı değil.

Diğer bir deyişle: is id(a) == id(b)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bmarian22

    bmarian22

    22 Aralık 2007
  • Pepsi

    Pepsi

    1 Kasım 2005
  • TheRightTire

    TheRightTire

    14 EKİM 2009