Nếu không đúng Python

Trong bài viết này, chúng ta hãy tìm hiểu cách triển khai logic “nếu không” trong các chương trình Python của chúng ta với sự trợ giúp của một số ví dụ

Nếu bạn đang vội, đây là phiên bản ngắn của câu trả lời

Phiên bản ngắn của câu trả lời

Trong Python, tùy thuộc vào những gì chúng tôi đang cố gắng thực hiện, chúng tôi có thể triển khai logic “nếu không” theo 2 cách sau

Tình huống #1. Kiểm tra nếu một điều kiện đã thất bại

Nếu bạn đang ở trong tình huống muốn tiếp tục khi một điều kiện không thành công, thì bạn có thể triển khai logic “nếu không” bằng cú pháp bên dưới

if  == False:
    // do your cool stuff here

Hãy nhớ thực tế là tất cả các điều kiện sẽ đánh giá các giá trị Boolean là Đúng hoặc Sai. Chúng tôi chỉ sử dụng cú pháp tương tự trong cú pháp trên để xác minh xem điều kiện của chúng tôi có được đánh giá là Sai hay không để đảm bảo rằng điều kiện đó thực sự không thành công

Hãy cho chúng tôi xem một ví dụ sử dụng cú pháp trên

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']

Đây chỉ là một ví dụ đơn giản, nhưng bạn hiểu

Tình huống #1. Kiểm tra xem 2 đối tượng có bằng nhau không

Nếu tình huống của bạn yêu cầu bạn phải so sánh 2 đối tượng và đảm bảo rằng chúng không bằng nhau trước khi tiếp tục, thì bạn có thể triển khai logic “nếu không” với sự trợ giúp của. = toán tử [viết tắt của “không bằng”]

Cú pháp dưới đây cho thấy việc sử dụng. = toán tử

if obj1 != obj2:
    // do your cool stuff here

Hãy để chúng tôi xem cách sử dụng bằng một ví dụ

x = 5
y = 10
if x != y:
    print['x is not equal to y']
else:
    print['x is equal to y']

Đầu ra của đoạn mã trên rõ ràng sẽ là

x is not equal to y

Chúng ta hãy xem lấy một ví dụ khác để nhìn mọi thứ từ một góc độ hơi khác

list1 = [1, 2, 3, 4, 5]
list2 = ['apple','mango','orange','pineapple','kiwi']

if list1 != list2:
    print['list1 is not equal to list2']
else:
    print['Both lists are equal']

Đầu ra bây giờ sẽ giống như sau

list1 is not equal to list2

Như bạn có thể thấy, đầu ra đúng như mong đợi

Như bạn có thể thấy, giống nhau ‘. = toán tử ‘ dùng để so sánh 2 số nguyên và so sánh 2 danh sách

Trên thực tế, tất cả các đối tượng python tích hợp sẽ hỗ trợ so sánh bằng cách sử dụng lệnh ‘. = nhà điều hành‘ và thậm chí hầu hết các thư viện bên ngoài [nếu được xây dựng đúng cách] sẽ làm như vậy

Nó chắc chắn làm cho cuộc sống của chúng ta, những lập trình viên trở nên dễ dàng. Nhưng những người tò mò trong số các bạn sẽ có những câu hỏi sau xuất hiện trong đầu

  • Làm thế nào để python đảm bảo rằng tất cả các đối tượng dựng sẵn đều tuân theo “. = nhà điều hành” như chúng ta trực giác mong đợi họ?
  • Làm cách nào để chúng tôi đảm bảo rằng các lớp mà chúng tôi tự xác định tuân theo “. = toán tử“?

Phần còn lại của bài viết này là tất cả về việc trả lời 2 câu hỏi này

“nếu không” trong Python. Phiên bản nhiều thông tin hơn của câu trả lời

Nếu bạn thích video hơn là bài viết, thì đây là một video ngắn mà tôi đã tạo cho bạn về chủ đề này.
[Tôi là YouTuber mới nên hãy thông cảm cho tôi nếu chất lượng không như mong đợi của bạn. ]

Được rồi, chúng ta hãy quay lại bài viết

Biểu thức và toán tử. Một số thông tin cơ bản

Trước tiên, chúng ta hãy quay lại những điều cơ bản và xem cách hoạt động của câu lệnh “nếu” trong Python

Cú pháp chung của câu lệnh if được hiển thị bên dưới

if :
    # Execute code here
else:
    # Execute code here

Phần cần lưu ý ở đây là “biểu thức là True”

Một biểu thức là một điều kiện sẽ đánh giá là Đúng hoặc Sai

Chúng ta hãy xem một vài ví dụ về những "biểu thức" như vậy

________số 8

Đây là biểu thức. x > 6 sẽ đánh giá là Sai và dòng x không lớn hơn 6 sẽ được in trên màn hình của chúng tôi.

Bảng sau đây cho thấy 6 toán tử so sánh được hỗ trợ với các đối tượng số nguyên.

OperatorMeaningUsage==integer1 is equal to integer2 [since = is already reserved for assignment operations, we use the “==” operator to check for equality]x == y!=integer1 is not equal to integer2x != y>integer1 is greater than integer2x > y=integer1 is greater than or equal to integer2x >= y> a = 'apple' >>> b = 'mango' >>> a == b False >>> a != b True >>> a < b True >>> a > b False >>> a >> a >= b False

Lớn hơn và nhỏ hơn trong chuỗi sử dụng thứ tự bảng chữ cái để xác định cái nào lớn hơn. Trong ví dụ này, apple đứng trước xoài trong từ điển, do đó nếu toàn bộ từ điển được coi là một danh sách các từ, thì chỉ số của apple sẽ nhỏ hơn chỉ số của xoài và do đó chúng ta có đầu ra ở trên

Do đó ta có câu trả lời cho
táo có ít hơn xoài không?

Nhưng trong danh sách, không phải tất cả 6 toán tử đều được triển khai như trong đoạn mã dưới đây

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']
0

Như bạn có thể thấy, kiểm tra đẳng thức hoạt động tốt, bây giờ chúng ta hãy xem liệu lớn hơn và nhỏ hơn có hoạt động không

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']
1

Như bạn có thể thấy, python ném lỗi ở đây

Điều này là do, theo trực giác sẽ hợp lý khi kiểm tra xem 2 danh sách có bằng nhau hay không, nhưng không hợp lý khi kiểm tra danh sách nào lớn hơn danh sách kia

Do đó, các kỹ sư đã thiết kế python đã không triển khai mã sẽ thực hiện phép so sánh > hoặc < đối với chúng tôi khi nói đến danh sách

Được rồi, bây giờ chúng ta đã đề cập đến nội dung cơ bản, chúng ta hãy quay lại chủ đề chính đó là hiểu chính xác cách thức các toán tử này được triển khai đằng sau bức màn

Python triển khai “nếu không” bằng cách sử dụng “. = toán tử“

Trong Python,. = toán tử được triển khai với sự trợ giúp của phương thức __ne__[]. Ở đây "ne" là viết tắt của "không bằng". Hầu như tất cả các lớp trong Python sẽ được tích hợp sẵn phương thức này

Bất cứ khi nào chúng tôi sử dụng '. =’, trình thông dịch python gọi hàm __ne__[] này để so sánh

Vì vậy, khi chúng ta viết

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']
2

Python sẽ diễn giải và chuyển đổi mã thành

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']
3

Sau đó, Python sẽ chạy phương thức __ne__[] và trả về cho chúng tôi Đúng hoặc Sai

Logic thực tế để so sánh 2 đối tượng được triển khai bên trong phương thức __ne__[] của một lớp nhất định. Việc triển khai này sẽ khác nhau tùy thuộc vào kiểu dữ liệu mà chúng tôi đang xử lý. Như chúng ta đã thấy trong phần trước, việc triển khai __ne__[] cho số nguyên sẽ không giống như triển khai __ne__[] cho chuỗi

Chúng ta hãy xem một ví dụ đơn giản về cách chúng ta có thể gọi trực tiếp hàm __ne__[] thay vì sử dụng hàm. = toán tử và nhận được kết quả tương tự

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']
4

Nếu bạn chạy đoạn mã trên, bạn sẽ nhận được kết quả như sau

is_iron_man_in_justice_league = False

if is_iron_man_in_justice_league == False:
    print['Iron man is not part of the justice league of america']
5

As you might have guessed, other operators like “>”, “is greater than__gt__[]=s greater than or equal to__ge__[] kẻ báo thù 1. __ne__[báo thù2]

  • kẻ báo thù1. __ne__[avenger2] => __ne__[avenger1, avenger2]
  • __ne__[] trả về Sai vì tên không bằng nhau
  • Theo logic tương tự, chúng ta cũng có thể triển khai các phương thức khác như __eq__[], __gt__[], __lt__[], v.v.

    Điều gì nếu không đúng nghĩa là Python?

    không. Nếu không đúng Áp dụng toán tử không để xem liệu một biểu thức có sai không . Đảo ngược giá trị của booleans. con trăn.

    == là gì và. = bằng Python?

    So sánh đẳng thức với Python == và. = . Sử dụng toán tử đẳng thức == và. = nếu bạn muốn kiểm tra xem hai đối tượng có cùng giá trị hay không, bất kể chúng được lưu trữ ở đâu trong bộ nhớ.

    làm gì. = Có nghĩa là gì trong Python?

    Toán tử không bình đẳng trong Python . Nếu các giá trị được so sánh bằng nhau thì trả về giá trị true. Nếu các giá trị được so sánh không bằng nhau, thì giá trị sai được trả về. . =

    Bạn có thể nói nếu đúng bằng Python không?

    Nếu bạn muốn kiểm tra xem một biến rõ ràng là Đúng hay Sai [và không phải là đúng/sai], hãy sử dụng is [ nếu biến là Đúng]. If you want to check if a variable is equal to 0 or if a list is empty, use if variable == 0 or if variable == [] .

    Chủ Đề