Hai biểu mẫu tạo mã byte giống hệt nhau, như bạn có thể xác minh rõ ràng:
>>> import dis
>>> dis.dis[compile['if x not in d: pass', '', 'exec']]
1 0 LOAD_NAME 0 [x]
3 LOAD_NAME 1 [d]
6 COMPARE_OP 7 [not in]
9 JUMP_IF_FALSE 4 [to 16]
12 POP_TOP
13 JUMP_FORWARD 1 [to 17]
>> 16 POP_TOP
>> 17 LOAD_CONST 0 [None]
20 RETURN_VALUE
>>> dis.dis[compile['if not x in d: pass', '', 'exec']]
1 0 LOAD_NAME 0 [x]
3 LOAD_NAME 1 [d]
6 COMPARE_OP 7 [not in]
9 JUMP_IF_FALSE 4 [to 16]
12 POP_TOP
13 JUMP_FORWARD 1 [to 17]
>> 16 POP_TOP
>> 17 LOAD_CONST 0 [None]
20 RETURN_VALUE
Vì vậy, rõ ràng họ giống hệt nhau về mặt ngữ nghĩa.
Như một vấn đề của phong cách, PEP 8 không đề cập đến vấn đề.
Cá nhân, tôi rất thích biểu mẫu if x not in y
- điều đó cho thấy ngay lập tức rằng not in
là một toán tử duy nhất và "đọc như tiếng Anh". if not x in y
có thể đánh lừa một số độc giả nghĩ rằng nó có nghĩa là if [not x] in y
, đọc ít hơn một chút tiếng Anh và hoàn toàn không có lợi thế bù đắp.and "reads like English". if not x in y
may mislead some readers
into thinking it means if [not x] in y
, reads a bit less like English, and has absolutely no compensating advantages.
’Không phải là một toán tử logic trong Python sẽ trả về true nếu biểu thức là sai. Toán tử ’không phải được sử dụng trong các câu lệnh IF.True if the expression is False. The ‘not’ operator is used in the if statements. Ví dụ: Nếu không phải x Nếu x là đúng, thì sẽ không đánh giá là sai, nếu không, đúng. Các toán tử logic khác: Toán tử và toán tử | Hoặc nhà điều hành The and operator | OR operator Tôi sẽ chỉ cho bạn một vài ví dụ để làm cho mọi thứ rõ ràng hơn về cách sử dụng toán tử không trong phần sắp tới. Trong ví dụ sau, một biến X được gán một giá trị 10. ’không phải được sử dụng trong câu lệnh IF như sau: Nếu không phải x> 10: Xem mã và kết quả.
#A bản demo của nhà điều hành Python 'không' x=10=10 ifnotx>10:notx>10: in ["không được truy cập đúng"]["not retured True"] else:: in ["Không được xử lý sai"]["not retured
False"]Python không phải là người vận hành ví dụ với câu lệnh if
Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.
Làm thế nào không hoạt động của nhà điều hành?
Trong bản demo này, X được sử dụng như sau với Not Toán tử:
Xem bản demo và mã trực tuyếnNếu không X:
#A bản demo của nhà điều hành Python 'không' x=10=10 ifnotx:notx: in ["không được truy cập đúng"]["Evaluated True"] else:: in ["Không được xử lý sai"]["Evaluated False"] |
Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.not x means if x is True or False. In Python, if a variable is a numeric zero or empty, or a None object then it is considered as False, otherwise True. In that case, as x = 10 so it is True. As x is True, so not operator evaluated as False and else part executed. See the same example below where the value of x = 0.
Xem bản demo và mã trực tuyến
x=10=10 ifnotx:notx: in ["không được truy cập đúng"]["Evaluated True"] else:: in ["Không được xử lý sai"]["Evaluated False"] |
Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.
Làm thế nào không hoạt động của nhà điều hành?
Trong bản demo này, X được sử dụng như sau với Not Toán tử:
Xem bản demo và mã trực tuyến
#A bản demo của nhà điều hành Python 'không' a_List=[5,10,15,20,25,30]=[5,10,15,20,25,30] foraina_List:ain a_List: ifnotain[10,25]:notain[10,25]: in ["không được truy cập đúng"]["List Item: ",a] |
in ["Không được xử lý sai"]
Vì x> 10 là sai, do đó, nhà điều hành không & nbsp; được đánh giá là đúng, do đó câu lệnh IF là đúng và mã bên trong câu lệnh IF được thực thi. Xem ví dụ tiếp theo sẽ làm cho mọi thứ thậm chí rõ ràng hơn.