SORU
29 Kasım 2011, Salı


Python tilde operatörü

Python tilde operatörü kullanımı nedir?

Düşünebildiğim tek şey eğer bir dize palindromic olup olmadığını kontrol gibi dize ya da bir listenin her iki taraf içinde bir şeyler yapın

def is_palindromic(s):
    return all(s[i] == s[~i] for i in range(len(s) / 2)) 

Başka iyi kullanımı?

CEVAP
29 Kasım 2011, Salı


Tüm veri türleri sadece yorumlama bayt farklı yolları olduğu C ödünç, tekli operatör (tek bir argüman alacak). "" Ya da "tamamlayıcı" giriş verileri tüm bitleri ters işlemi. ters olduğunu

Python, tam sayılar, bit twos-complement representation n tersine (b <- b XOR 1 için tek tek her bit) ve sonuç olarak tekrar yorumlanan bir ikişer-tamamlayıcı tamsayı. Tamsayılar (-x) - 1 eşdeğerdir.

~ operatörün şeyleşiyor formu operator.invert olarak verilmiştir. Kendi sınıfında bu operatör desteği, __invert__(self) bir yöntem vermek.

>>> import operator
>>> class Foo:
...   def __invert__(self):
...     print 'invert'
...
>>> x = Foo()
>>> operator.invert(x)
invert
>>> ~x
invert

Bir "" ya da "ters de aynı sınıfın bir örneği bir örneği" ters operatör için olası bir aday. tamamlayıcı olması manidardır herhangi bir sınıf Ancak, operatör yükleme kullandı, bu yüzden gerçekten işe yaradığı böylece sınıf __invert__ bir yöntem vermeden önce bunu yapar emin ol eğer karışıklığa yol açabilir. (Bayt dizeleri [eski: '\xff'] bayt dize tüm bitleri ters çevirmek için anlamlı olsa bile bu operatör desteği unutmayın.)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • The Amazing Atheist

    The Amazing

    20 Kasım 2006
  • TouchePro

    TouchePro

    27 EYLÜL 2007