SORU
7 HAZİRAN 2010, PAZARTESİ


Nasıl '' anahtar kelime Python uygulanır?

... is anahtar kelime dizeleri eşitlik için kullanılabilir.

>>> s = 'str'
>>> s is 'str'
True
>>> s is 'st'
False

__is__() __eq__() ikisini de denedim ama olmadı.

>>> class MyString:
...   def __init__(self):
...     self.s = 'string'
...   def __is__(self, s):
...     return self.s == s
...
>>>
>>>
>>> m = MyString()
>>> m is 'ss'
False
>>> m is 'string' # <--- Expected to work
False
>>>
>>> class MyString:
...   def __init__(self):
...     self.s = 'string'
...   def __eq__(self, s):
...     return self.s == s
...
>>>
>>> m = MyString()
>>> m is 'ss'
False
>>> m is 'string' # <--- Expected to work, but again failed
False
>>>

Yardımlarınız için teşekkürler!

CEVAP
7 HAZİRAN 2010, PAZARTESİ


is ile test dizeleri dizeleri staj olduğunda çalışır. Sen gerçekten ne yaptığını biliyor ve açıkça 12* *dizeleri süreceasladizeleri is kullanın.

is testlerikimlikdeğileşitlik. Bu Python sadece bir nesne bulunduğu bellek adresini karşılaştırır anlamına gelir. is temel soru "aynı nesne için iki isim var Mı?" yanıtları - hiçbir anlam ifade etmeyecekti bu aşırı yükleme.

Örneğin, ("a" * 100) is ("a" * 100)Yanlış. Genellikle Python farklı bir belleğe her dizesi yazar konumu, çoğunlukla staj dize hazır olur.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Ryan Billy

    Ryan Billy

    30 EKİM 2006
  • wwjoshdew

    wwjoshdew

    1 AĞUSTOS 2007