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ş:
Neden bu kod rastgele dizeleri yazdırm...
Neden toplam sırasını değiştirerek far...
Python: sınıf baskı kullanarak bir sın...
Neden bir Python dizeleri't dize ...
Farklı bir dizin pip kullanarak bir py...