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ş:
Nasıl kullanılır "zam" Pytho...
Verim anahtar kelime Python ne yapar?...
Nasıl&; quot&; Anahtar Kelime çalışmas...
Nasıl "bu" JavaScript bir ne...
Nasıl bir baskı, bir anahtar için bekl...