Có sự khác biệt giữa:Có sự khác biệt nào giữa "foo is None" và "foo == None" không?
if foo is None: pass
và
if foo == None: pass
Quy ước mà tôi đã nhìn thấy ở hầu hết các mã Python (và mã bản thân tôi viết) là cựu, nhưng gần đây tôi đi trên mã sử dụng sau này. Không có gì là một cá thể (và cá thể duy nhất, IIRC) của NoneType, vì vậy nó không quan trọng, phải không? Có bất kỳ hoàn cảnh nào trong đó có thể không?
Bạn có thể muốn thêm rằng Không có gì là một singleton để "Không có gì là Không" luôn đúng. –
Và bạn có thể muốn thêm rằng toán tử 'is' không thể được tùy chỉnh (quá tải bởi một lớp do người dùng định nghĩa). – martineau
Vì vậy, trong trường hợp của bạn, tại sao mã "f == Không" trả về True? Bối rối ... – study