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
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ử 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_raining
là False
, 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 > 5
và y < 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 or
là True
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ề True
vì z % 2 == 0
là True
(vì z
là số chẵn), dù z > 0
là False
.
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 == z và y > 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