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

  • bobinire

    bobinire

    24 EYLÜL 2006
  • guillaume2111's channel

    guillaume211

    19 Kasım 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008