Kiểu dữ liệu Boolean và toán tử logic AND, OR, NOT trong Python

Trong các bài trước chúng ta đã làm quen với các kiểu dữ liệu số nguyên (int), số thập phân (float) và kiểu chuỗi (string) trong Python. Tiếp theo, chúng ta sẽ làm quen với một kiểu dữ liệu khác là Boolean, một kiểu dữ liệu được sử dụng trong hầu hết các ngôn ngữ lập trình hiện nay. Cùng TopDev tìm hiểu về Boolean trong Python và các toán tử AND OR NOT thông qua các ví dụ minh họa thật chi tiết.

Xem thêm nhiều việc làm Python lương cao trên TopDev

Kiểu dữ liệu Boolean trong Python

Boolean hay Bool trong python là gì? Boolean là kiểu dữ liệu mà mọi ngôn ngữ lập trình ngày này đều sử dụng, và tất nhiên Boolean cũng là một kiểu dữ liệu trong Python.

Boolean đại diện cho hai giá trị logic duy nhất là: đúng (True) và sai (False).

Lưu ý khi code, giá trị True/False phải viết hoa, nếu không sẽ bị báo lỗi.

Trong máy tính, kiểu dữ liệu này được lưu trữ trên 1 bit (là đơn vị lưu trữ nhỏ nhất), có giá trị là 1 hoặc 0.

Thông thường, các giá trị Boolean là True hoặc False không được gán trực tiếp với biến mà thông qua một phép so sánh, ví dụ:

age = 20
is_over_age = age >= 18
is_under_age = age < 18
is_twenty = age == 20

Một biểu thức so sánh sẽ trả về kết quả là dạng Boolean tức là True hay False. Chúng ta có các phép so sánh thường dùng như:

  • > Lớn hơn
  • >= Lớn hơn hoặc bằng
  • == So sánh bằng
  • < Nhỏ hơn
  • <= Nhỏ hơn hoặc bằng.
  • is so sánh hai đối tượng có bằng nhau không
  • is not: phủ định của is
  Biến và kiểu dữ liệu cơ bản trong Python
  Lệnh if, elif, if else trong Python là gì?

Toán tử logic boolean NOT, AND và OR

Trong Python, có thể sử dụng các toán tử Logic Boolean để tạo ra những so sánh phức tạp. Danh sách các toán tử logic trong Python bao gồm:

  • and: Trả về kết quả là True nếu cả hai vế là True, trả về False nếu 1 trong hai vế là False.
  • or: Trả về kết quả là True nếu 1 trong 2 vế là True và trả về False nếu cả hai vế là False.
  • not: đứng trước một biểu thức so sánh, trả về giá trị phủ định của biểu thức đứng sau.

Toán tử logic boolean NOT, AND và OR

Toán tử NOT trong Python

Toán tử logic not là một phép toán đơn giản và chỉ tác động lên một giá trị Boolean. Nó đảo ngược giá trị của một biểu thức Boolean: nếu biểu thức là True, not sẽ biến nó thành False, và ngược lại.

  • NOT True sẽ thành False.
  • NOT False sẽ thành True.

Giả sử bạn có một biến is_raining để chỉ định xem trời có đang mưa không và bạn muốn in ra thông báo chỉ khi trời không mưa:

is_raining = False

if not is_raining:
    print("Trời không mưa, bạn có thể ra ngoài!")
else:
    print("Trời đang mưa, hãy ở trong nhà!")

Kết quả: Trời không mưa, bạn có thể ra ngoài!

Trong ví dụ này, not is_raining sẽ đảo ngược giá trị Boolean của is_raining. Vì is_rainingFalse, not is_raining sẽ là True, do đó câu lệnh print("Trời không mưa, bạn có thể ra ngoài!") được thực thi.

Toán tử AND trong Python

Phép toán and là một phép toán nhị phân (binary operator) và tác động lên hai giá trị Boolean. Kết quả của phép toán and chỉ là True khi cả hai giá trị đều là True; nếu một trong hai giá trị là False, kết quả sẽ là False:

  • True AND True sẽ là True.
  • True AND False sẽ là False.
  • False AND True sẽ là False.
  • False AND False sẽ là False.

Giả sử bạn muốn kiểm tra xem một số y có nằm trong khoảng từ 5 đến 15 hay không:

y = 12

if y > 5 and y < 15:
    print("y nằm trong khoảng từ 5 đến 15")
else:
    print("y không nằm trong khoảng từ 5 đến 15")

Kết quả: y nằm trong khoảng từ 5 đến 15

Biểu thức y > 5 and y < 15 chỉ trả về True nếu cả hai điều kiện y > 5y < 15 đều đúng.

Toán tử OR trong Python

Phép toán or cũng là một phép toán nhị phân và tác động lên hai giá trị Boolean. Kết quả của phép toán orTrue nếu ít nhất một trong hai giá trị là True. Chỉ khi cả hai giá trị đều là False, kết quả mới là False.

  • True OR True sẽ là True.
  • True OR False sẽ là True.
  • False OR True sẽ là True.
  • False OR False sẽ là False.

Sử dụng toán tử or

Nếu bạn muốn kiểm tra xem một số z có phải là số chẵn hoặc là một số dương hay không:

z = -4

if z % 2 == 0 or z > 0:
    print("z là số chẵn hoặc là số dương")
else:
    print("z không là số chẵn và không phải là số dương")

Kết quả: z là số chẵn hoặc là số dương

Trong ví dụ này, biểu thức z % 2 == 0 or z > 0 trả về Truez % 2 == 0True (vì z là số chẵn), dù z > 0False.

  Cấu trúc dữ liệu List trong Python và các thao tác cơ bản

Boolean trong các toán tử so sánh

Trong Python, các toán tử so sánh được sử dụng để so sánh hai giá trị và kết quả của các phép so sánh này luôn là một giá trị Boolean: True hoặc False. Các toán tử so sánh giúp kiểm tra mối quan hệ giữa hai biến hoặc giữa một biến và một giá trị cụ thể, và được sử dụng rộng rãi trong các câu lệnh điều kiện như if, while.

Dưới đây là bảng trình bày các toán tử so sánh trong Python và kết quả Boolean tương ứng:

Toán tử Ý nghĩa Ví dụ Kết quả
== Bằng nhau 5 == 5 True
5 == 10 False
!= Khác nhau 5 != 10 True
5 != 5 False
> Lớn hơn 10 > 5 True
5 > 10 False
< Nhỏ hơn 3 < 7 True
7 < 3 False
>= Lớn hơn hoặc bằng 10 >= 10 True
5 >= 10 False
<= Nhỏ hơn hoặc bằng 7 <= 10 True
10 <= 7 False

Kết hợp với toán tử logic:

Biểu thức Ý nghĩa Kết quả
x == z and y > x Kiểm tra xem cả hai điều kiện đều đúng hay không (x == zy > x) True
x == z or y < x Kiểm tra xem ít nhất một trong hai điều kiện đúng (x == z hoặc y < x) True
not x == z Đảo ngược kết quả của điều kiện (x == z) False

Bảng trên cung cấp cái nhìn tổng quan về cách sử dụng các toán tử so sánh và kết quả của chúng khi kết hợp với các toán tử logic Boolean trong Python.

Các toán tử logic boolean NOT, AND, và OR là nền tảng của logic trong lập trình và được sử dụng rộng rãi trong việc kiểm tra điều kiện, xây dựng biểu thức phức tạp và điều khiển luồng chương trình. Hiểu sâu sắc về kiểu dữ liệu Boolean và các toán tử NOT, AND, và OR là bước quan trọng để viết mã Python hiệu quả và logic hơn.

Xem thêm việc làm IT hấp dẫn trên TopDev