Tôi đã (có thể sai) nghĩ rằng nhà điều hành is
đang thực hiện so sánh id().Toán tử 'is' làm gì trong Python?
>>> x = 10
>>> y = 10
>>> id(x)
1815480092
>>> id(y)
1815480092
>>> x is y
True
Tuy nhiên, với val is not None
, có vẻ như nó không đơn giản như vậy.
>>> id(not None)
2001680
>>> id(None)
2053536
>>> val = 10
>>> id(val)
1815480092
>>> val is not None
True
Sau đó, nhà điều hành 'là' làm gì? Nó chỉ là đối tượng id so sánh chỉ tôi phỏng đoán? Nếu vậy, val is not None
được diễn giải bằng Python là not (val is None)
?
Có, 'val không phải là None' và' không (val là Không) 'là [tương đương] (http://stackoverflow.com/questions/12941287/does-not-e-in-c-differ-từ -e-not-in-c-in-python). Nhưng cái đầu tiên là IMO dễ đọc hơn. –