Яке використання оператора tilde в Python?
Я можу подумати над тим, щоб зробити щось з обох сторін рядка чи списку, наприклад перевірити, чи є рядок паліндромною чи ні:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
Будь-яке інше корисне використання?
-False==0) Його заплутано, оскільки ви говорили про те ~, і ~False == -1що не є помилковим.
__neg__). Можливо, я мав би продовжувати використовувати True, наприклад -True == -1, який не є -2 або Falseпомилковим, що більш чітко пов'язує його з ~Trueрезультатом, а також те, що арифметичне заперечення a boolвідрізняється від його логічного заперечення. Я не намагався бути глибоким. Я лише виділяв 3 операції та основні спеціальні методи, які іноді плутаються.
~реалізований спеціальним методом__invert__, не має відношення доnotоператора, що логічно заперечує значення, повернене__bool__(або__nonzero__в 2.x). Це також не пов'язане з-оператором одинарного заперечення, реалізованим компанією__neg__. Наприклад~True == -2, що не єFalseабо хибним, і-False == 0яке все ще є помилковим.