Apa gunanya operator tilde di Python?
Satu hal yang dapat saya pikirkan adalah melakukan sesuatu di kedua sisi string atau daftar, seperti memeriksa apakah string palindromik atau tidak:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
Adakah penggunaan lain yang baik?
-False==0) Ini membingungkan, karena Anda berbicara tentang ~, dan ~False == -1yang tidak Salah.
__neg__). Mungkin saya harus terus menggunakan True, misalnya -True == -1, yang bukan -2 atau Falseatau salah, yang lebih jelas menghubungkannya kembali ke ~Truehasil dan juga bahwa negasi aritmatika dari a boolberbeda dari negasi logisnya. Saya tidak berusaha untuk mendalam. Saya baru saja menyoroti 3 operasi dan metode khusus yang mendasarinya yang terkadang membingungkan.
~diimplementasikan oleh metode khusus__invert__tidak terkait dengannotoperator, yang secara logis meniadakan nilai yang dikembalikan oleh__bool__(atau__nonzero__dalam 2.x). Ini juga tidak terkait dengan-operator negasi unary, diimplementasikan oleh__neg__. Misalnya~True == -2, mana yang tidakFalseatau salah, dan-False == 0yang masih salah.