5.1 Kiểu bool
Trong Python có một kiểu dữ liệu logic đặc biệt, giúp kiểm tra tính đúng đắn của điều kiện và biểu thức. Nó được biểu diễn bằng từ khóa bool
(mặc dù thực chất gọi là Boolean) và được dùng để biểu diễn một trong hai giá trị: True (Đúng)
hoặc False (Sai)
.
Kiểu dữ liệu này cực kỳ hữu ích trong lập trình để điều khiển thứ tự thực hiện chương trình thông qua các câu lệnh điều kiện như if
, else
và elif
, cũng như điều khiển vòng lặp và các cấu trúc điều khiển khác.
Lưu ý quan trọng
Kiểu dữ liệu logic trong Python được biểu diễn bằng hai đối tượng hằng: True
và False
. Tuy nhiên, cần lưu ý rằng Python nhận diện True
như giá trị số 1 và False
như 0. Điều này cho phép sử dụng chúng trong các phép toán số học và làm cho kiểu bool là một lớp con của kiểu int.
Ứng dụng thực tiễn
Mặc dù chỉ có hai giá trị có thể có, kiểu bool
không mạnh nhờ vào giá trị của nó, mà nhờ bộ các phép toán logic có thể thực hiện trên chúng. Chi tiết về điều đó sẽ được nói dưới đây.
5.2 Toán tử logic
Các phép toán logic trong Python đóng vai trò quan trọng trong việc điều khiển thứ tự thực hiện chương trình và đưa ra quyết định. Các phép toán logic cơ bản bao gồm and
, or
và not
. Hiểu rõ cách áp dụng chúng có thể cải thiện đáng kể hiệu suất của mã nguồn.
Logic AND (AND)
Toán tử and
trả về True
chỉ khi cả hai đối tượng của nó đều là True. Toán tử này thường được sử dụng để kiểm tra tính đúng đắn của nhiều điều kiện cùng lúc.
a = True
b = False
print(a and b) # Sẽ in ra: False
Logic OR (OR)
Toán tử or
trả về True
nếu ít nhất một trong các đối tượng của nó là True. Điều này hữu ích cho các điều kiện mà mã cần tiếp tục thực hiện khi ít nhất một trong các điều kiện có thể xảy ra.
a = True
b = False
print(a or b) # Sẽ in ra: True
Logic NOT (NOT)
Toán tử not
đảo ngược giá trị boolean của đối tượng của nó. Nếu đối tượng True
, kết quả sẽ là False
và ngược lại. Điều này có thể hữu ích để tạo ra các điều kiện phủ định.
a = True
print(not a) # Sẽ in ra: False
Sử dụng nâng cao
Toán tử logic thường được sử dụng kết hợp để tạo ra các biểu thức điều kiện phức tạp, giúp điều khiển luồng thực hiện phức tạp hơn.
a = 5
b = 10
c = 20
result = a < b and b < c # Kiểm tra rằng a nhỏ hơn b và b nhỏ hơn c
print(result) # Sẽ in ra: True
Các phép toán logic trong Python cung cấp một công cụ mạnh mẽ để điều khiển hành vi chương trình dựa trên các điều kiện khác nhau. Chúng không chỉ đơn giản hóa việc viết mã mà còn làm cho nó dễ đọc và bảo trì hơn.
5.3 Ví dụ thực tế
Python cho phép chuyển đổi các kiểu dữ liệu khác sang kiểu boolean bằng hàm bool()
. Theo mặc định, bất kỳ giá trị nào không phải zero hoặc không rỗng sẽ được chuyển đổi thành True
, trong khi các giá trị zero hoặc rỗng sẽ thành False
.
Ví dụ về chuyển đổi kiểu:
print(bool(0)) # Sẽ in ra False
print(bool(42)) # Sẽ in ra True
print(bool("")) # Sẽ in ra False
print(bool("Text")) # Sẽ in ra True
Sử dụng biến logic trong điều kiện:
a = 5
b = 10
c = 20
is_a_min = a < b and a < c # Kiểm tra rằng a nhỏ hơn b và a nhỏ hơn c
print(is_a_min) # Sẽ in ra: True
Không cần so sánh biến logic với True
hoặc False
, vì kết quả của so sánh đã là True
hoặc False
.
Ví dụ:
Mã khởi đầu | Mã khởi đầu đặt vào biến riêng biệt | Bỏ == True |
---|---|---|
|
|
|
Kết quả của bất kỳ phép so sánh nào có giá trị là True
hoặc False
, vì vậy có thể gán nó vào một biến – như đã làm trong ví dụ trên. Nhưng trong điều kiện if
, hoặc vòng lặp while
, không cần so sánh biến logic với True
.
Biến logic đã chứa giá trị đúng. Chỉ cần đặt cho nó một tên hợp lý, và mọi thứ sẽ trở nên rõ ràng.
Nói cách khác, thay vì viết mã «if a == True
:» chỉ cần viết «if a
:». Và thay vì mã «if a == False
:» thì viết «if not a
:».
GO TO FULL VERSION