Tôi bị kẹt ở ví dụ cụ thể này khi nhảy vào pythonNhảy vào trăn và hoặc thất bại
Ví dụ 4.18. Khi and-hoặc Lừa Thất bại
>>>>a = ""
>>>>b = "second"
>>>1 and a or b
>>>>'second'
Kể từ khi a là một chuỗi rỗng, mà Python xem xét sai trong một bối cảnh boolean, 1 và '' evalutes để '', và rồi '' hoặc 'thứ hai' đánh giá thành 'giây'. Rất tiếc! Đó không phải là những gì bạn muốn. Và − hoặc lừa, bool và a hoặc b, sẽ không hoạt động giống như biểu thức C bool? a: b khi a là sai trong một ngữ cảnh boolean .
Tại sao nó không phải là điều người dùng muốn, ý tôi là 1 và "" sẽ đánh giá Sai, trong khi "" hoặc b sẽ đánh giá "thứ hai", đó là điều hoàn hảo, tôi không t hiểu tại sao nó sai? Tôi thiếu một cái gì đó?
Cảm ơn bạn. Tôi nghĩ có điều gì khác mà tôi không hiểu. –