Cách sử dụng toán tử dấu ngã trong Python là gì?
Một điều tôi có thể nghĩ đến là làm một cái gì đó trong cả hai mặt của một chuỗi hoặc danh sách, chẳng hạn như kiểm tra xem một chuỗi có phải là palindromic hay không:
def is_palindromic(s):
return all(s[i] == s[~i] for i in range(len(s) / 2))
Bất kỳ cách sử dụng tốt khác?
-False==0) Thật khó hiểu, vì bạn đã nói về ~, và ~False == -1đó không phải là Sai.
__neg__). Có lẽ tôi nên tiếp tục sử dụng True, ví dụ -True == -1, không phải là -2 hoặc Falsesai, liên kết rõ ràng hơn với ~Truekết quả và cũng là phủ định số học của a boolkhác với phủ định logic của nó. Tôi đã không cố gắng để được sâu sắc. Tôi chỉ làm nổi bật 3 thao tác và các phương thức đặc biệt cơ bản đôi khi bị lẫn lộn.
~phương__invert__được thực hiện theo phương thức đặc biệt không liên quan đếnnottoán tử, điều này phủ nhận một cách hợp lý giá trị được trả về bởi__bool__(hoặc__nonzero__trong 2.x). Nó cũng không liên quan đến-toán tử phủ định đơn nguyên, được thực hiện bởi__neg__. Ví dụ:~True == -2không đúngFalsehoặc sai và-False == 0vẫn sai.