Hướng dẫn how do i check if a condition is true in python? - làm cách nào để kiểm tra xem một điều kiện có đúng trong python không?
Làm thế nào để bạn kiểm tra xem một cái gì đó là Show
Những cách "xấu" không chỉ được cau mày mà còn chậm hơn. Hãy sử dụng một bài kiểm tra đơn giản:
Sử dụng 0 chậm hơn khoảng 60% so với 1 (17,4/10,9≈1.596), nhưng sử dụng 2 chậm hơn 120% (24,9/10,9≈2.284)! Không quan trọng nếu 3 thực sự là True hoặc 5 - sự khác biệt về hiệu suất là tương tự nhau (nếu 3 là True , cả ba kịch bản sẽ chậm hơn một chút).Tương tự, chúng ta có thể kiểm tra xem một biến không phải là
2 thắng. 3 chậm hơn 50% (18,8/12.4≈1.516) và 4 mất gấp đôi thời gian (26/12.4≈2.016).Các phiên bản 1 và 2 nhanh hơn để thực hiện và nhanh hơn để đọc. Chúng là những thành ngữ phổ biến mà bạn thường thấy trong Python (hoặc các ngôn ngữ lập trình khác).Về loạt bài "Viết Python nhanh hơn""Viết Python nhanh hơn" là một loạt các bài viết ngắn thảo luận về cách giải quyết một số vấn đề phổ biến với các cấu trúc mã khác nhau. Tôi chạy một số điểm chuẩn, thảo luận về sự khác biệt giữa mỗi đoạn mã và kết thúc với một số khuyến nghị cá nhân. Những khuyến nghị đó sẽ làm cho mã của bạn nhanh hơn nhiều? Không thực sự. Có phải biết những khác biệt nhỏ đó sẽ tạo ra một lập trình viên Python tốt hơn một chút? Hy vọng! Bạn có thể đọc thêm về một số giả định tôi đã thực hiện, thiết lập điểm chuẩn và câu trả lời cho một số câu hỏi phổ biến trong bài viết giới thiệu. "Sự thật" và "Falsy"Tại sao tôi tiếp tục đưa "xấu" vào báo giá? Đó là bởi vì cách "xấu" không phải lúc nào cũng xấu (điều đó chỉ sai khi bạn muốn so sánh các giá trị Boolean, như được chỉ trong PEP8). Đôi khi, bạn cố tình phải sử dụng một trong những so sánh khác. Trong Python (và nhiều ngôn ngữ khác), có 9. Tương tự, có 5 và có các giá trị giả (giá trị trả về 5 từ 9). Một danh sách trống ( 3), chuỗi ( 4), từ điển ( 5), 6 và 0 đều giả mạo nhưng chúng không hoàn toàn 5.Đôi khi bạn cần phân biệt giữa ____ ____ 6/________ 15 và các giá trị sự thật/giả. Nếu mã của bạn sẽ hoạt động theo một cách khi bạn vượt qua một danh sách trống và trong một danh sách khác, khi bạn vượt qua 5, bạn không thể sử dụng 1.Hãy xem kịch bản sau:
Chúng tôi có một chức năng để xử lý một số đơn đặt hàng. Nếu không có đơn đặt hàng, chúng tôi muốn quay lại mà không làm gì cả. Nếu không, chúng tôi muốn xử lý các đơn đặt hàng hiện có. Chúng tôi giả định rằng nếu không có đơn đặt hàng, thì tham số 2 được đặt thành 6. Nhưng, nếu 2 là một danh sách trống, chúng tôi cũng quay lại mà không có bất kỳ hành động nào! Và có lẽ có thể nhận được một danh sách trống vì ai đó chỉ cập nhật thông tin thanh toán của một đơn đặt hàng trong quá khứ? Hoặc có lẽ có một danh sách trống có nghĩa là có một lỗi trong hệ thống. Chúng ta nên bắt lỗi đó trước khi chúng ta điền vào cơ sở dữ liệu với các đơn đặt hàng trống! Bất kể lý do gì cho một danh sách trống, mã trên sẽ bỏ qua nó. Chúng tôi có thể sửa nó bằng cách điều tra tham số 2 cẩn thận hơn:
Điều tương tự áp dụng cho các giá trị sự thật. Nếu mã của bạn sẽ hoạt động khác với 7, chúng tôi không thể sử dụng 1. Chúng ta nên sử dụng 2 để so sánh số ( 0) và 0 để so sánh với True ( 3). Nghe có vẻ khó hiểu? Chúng ta hãy xem sự khác biệt giữa 0 và 2.$ python -m timeit -s "variable=False" "if variable != True: pass"10000000 loops, best of 5: 26 nsec per loop$ python -m timeit -s "variable=False" "if variable is not True: pass"10000000 loops, best of 5: 18.8 nsec per loop$ python -m timeit -s "variable=False" "if not variable: pass"20000000 loops, best of 5: 12.4 nsec per loop0 Kiểm tra danh tính, $ python -m timeit -s "variable=False" "if variable != True: pass"10000000 loops, best of 5: 26 nsec per loop$ python -m timeit -s "variable=False" "if variable is not True: pass"10000000 loops, best of 5: 18.8 nsec per loop$ python -m timeit -s "variable=False" "if not variable: pass"20000000 loops, best of 5: 12.4 nsec per loop2 kiểm tra giá trịToán tử 0 so sánh danh tính của các đối tượng. Nếu hai biến giống hệt nhau, điều đó có nghĩa là chúng chỉ vào cùng một đối tượng (cùng một vị trí trong bộ nhớ). Cả hai đều có cùng một ID (mà bạn có thể kiểm tra với hàm ID ()).Toán tử 2 so sánh các giá trị. Nó kiểm tra xem giá trị của một biến bằng với giá trị của một số biến khác.Một số đối tượng trong Python là duy nhất, như 6, True hoặc 5. Mỗi lần bạn gán một biến cho True , nó chỉ vào cùng một đối tượng True như các biến khác được gán cho True . Nhưng mỗi lần bạn tạo một danh sách mới, Python tạo ra một đối tượng mới:
Điều quan trọng là phải biết sự khác biệt giữa 0 và 2. Nếu bạn nghĩ rằng chúng hoạt động giống nhau, bạn có thể kết thúc với những lỗi kỳ lạ trong mã của bạn:
Trong ví dụ trên, khối mã đầu tiên sẽ in "Có", nhưng lần thứ hai sẽ không. Đó là bởi vì Python thực hiện một số tối ưu hóa nhỏ và các số nguyên nhỏ có chung ID (chúng chỉ vào cùng một đối tượng). Mỗi lần bạn gán 7 cho một biến mới, nó chỉ vào cùng một đối tượng 7. Nhưng khi bạn gán if variable == True: 0 cho một biến, nó sẽ tạo ra một đối tượng mới. Nếu chúng ta sử dụng if variable == True: 1, thì mọi thứ sẽ hoạt động như mong đợi.Kết luậnTóm lại:
Làm thế nào để bạn biết nếu một điều kiện là sai trong Python?Nếu các tuyên bố thường kiểm tra nếu một tình huống cụ thể xảy ra. Nhưng chúng ta cũng có thể kiểm tra ngược lại, và xem nếu có điều gì đó không xảy ra. Chúng tôi làm điều đó với nhà điều hành không phải của Python. Nhà điều hành đó thực hiện phủ định logic: nó trả về đúng khi đặt trước một cái gì đó sai.Python's not operator. That operator performs logical negation: it returns True when put in front of something that's False .
Điều gì có nghĩa là gì trong Python?Nó được sử dụng để đại diện cho giá trị sự thật của một biểu thức.Ví dụ: biểu thức 1used to represent the truth value of an expression. For example, the expression 1 <= 2 is True , while the expression 0 == 1 is False .
Điều gì đánh giá đúng trong Python?Đầu tiên, chúng tôi xem xét loại giá trị nào đánh giá thành "đúng" hoặc "sai" trong Python.Bất cứ điều gì "trống" thường đánh giá là sai, cùng với số nguyên 0 và giá trị boolean của sai.Các đối tượng không được đánh giá trống để "đúng", cùng với các số không bằng 0 và giá trị boolean true.Objects that are not empty evaluate to "True", along with numbers not equal to 0, and the boolean value True.
Làm thế nào để bạn kiểm tra các điều kiện boolean trong Python?Chúng ta có thể đánh giá các giá trị và biến bằng hàm python bool ().Phương pháp này được sử dụng để trả về hoặc chuyển đổi giá trị thành giá trị boolean, tức là đúng hoặc sai, sử dụng quy trình kiểm tra sự thật tiêu chuẩn.using the Python bool() function. This method is used to return or convert a value to a Boolean value i.e., True or False, using the standard truth testing procedure. |