2017-07-19 19 views

Trả lời

23

inis là các toán tử so sánh trong Python, tương tự như vậy, ví dụ: <==. Nói chung,

expr1 <comparison1> expr2 <comparison2> expr3 

được coi là

(expr1 <comparison1> expr2) and (expr2 <comparison2> expr3) 

trừ expr2 đó được đánh giá chỉ một lần. Đó là lý do tại sao, ví dụ:

0 <= i < n 

hoạt động như mong đợi. Tuy nhiên, nó áp dụng cho bất kỳ nhà khai thác so sánh chuỗi nào. Trong ví dụ của bạn,

item in seq is True 

được coi là

(item in seq) and (seq is True) 

Phần seq is True là False, vì vậy toàn bộ biểu thức là False. Để có được những gì bạn có thể dự định, hãy sử dụng dấu ngoặc đơn để thay đổi nhóm:

print((item in seq) is True) 

Click here for the docs.

3

tuyên bố của bạn item in seq is True được đánh giá là nội (item in seq) and (seq is True) như hình dưới đây

>>>print ((item in seq) and (seq is True)) 
False 

(seq là True) là False và do đó kết quả đầu ra tuyên bố của bạn False.

+0

Không phải là giải thích đầy đủ trong @Tim Peters câu trả lời? –

+0

@ t.m.adam - Cả hai chúng tôi đều trả lời nhiều hơn hoặc ít hơn cùng một lúc. Nếu câu trả lời của anh giải thích điều này một cách chi tiết hơn, hãy để tôi xóa câu trả lời này. – Beginner

+0

@Beginner NO. Không thể có một câu hỏi có hai câu trả lời đúng? – void

1

Câu trả lời bên dưới không chính xác. Các bình luận giải thích nó một i xác nhận:

In [17]: item in (seq is True) 
--------------------------------------------------------------------------- 
TypeError         Traceback (most recent call last) 
<ipython-input-17-4e7d6b2332d7> in <module>() 
----> 1 item in (seq is True) 

Lỗi Loại: đối số kiểu 'bool' không phải là iterable


câu trả lời trước Tôi tin rằng nó đang đánh giá seq is True (mà đánh giá đến bool False) , sau đó đánh giá item in False (đánh giá là False).

Có lẽ ý bạn là print (item in seq) is True (đánh giá là True)?

+2

'mục trong False' tăng một' TypeError', vì giá trị bên phải phải là một iterable, mà 'False' là không. –

+0

đã thay đổi câu trả lời. cảm ơn – travelingbones

Các vấn đề liên quan