Logical operators (các toán tử logic) là các toán tử được sử dụng để kết hợp các biểu thức logic với nhau để đưa ra kết quả đúng hoặc sai. Trong Python, có ba toán tử logic cơ bản: and
, or
, và not
.
- Toán tử
and
: Trả vềTrue
nếu cả hai biểu thức đều đúng, ngược lại trả vềFalse
. - Toán tử
or
: Trả vềTrue
nếu ít nhất một trong hai biểu thức đúng, ngược lại trả vềFalse
. - Toán tử
not
: Trả vềTrue
nếu biểu thức là sai, ngược lại trả vềFalse
.
Ví dụ:
a = 10
b = 20
c = 30
# Toán tử and
if a > 5 and b > 15:
print("Cả hai biểu thức đều đúng")
# Toán tử or
if a > 5 or b < 15:
print("Ít nhất một trong hai biểu thức đúng")
# Toán tử not
if not a == b:
print("Hai biến a và b khác nhau")
Ở ví dụ trên, ta sử dụng toán tử and
để kiểm tra xem a
có lớn hơn 5 và b
có lớn hơn 15 không. Vì cả hai biểu thức đều đúng, nên thông báo “Cả hai biểu thức đều đúng” được in ra. Tiếp đó, ta sử dụng toán tử or
để kiểm tra xem a
có lớn hơn 5 hoặc b
có nhỏ hơn 15 không. Vì biểu thức thứ nhất đúng, nên thông báo “Ít nhất một trong hai biểu thức đúng” được in ra. Cuối cùng, ta sử dụng toán tử not
để kiểm tra xem a
có bằng b
không. Vì hai biến a
và b
không bằng nhau, nên thông báo “Hai biến a và b khác nhau” được in ra.
Trong Python cũng có các phép so sánh khác như phép so sánh bằng (==
), phép so sánh khác (!=
), phép so sánh lớn hơn (>
), phép so sánh nhỏ hơn (<
), phép so sánh lớn hơn hoặc bằng (>=
), và phép so sánh nhỏ hơn hoặc bằng (<=
).
Các phép so sánh này thường được sử dụng cùng với Logical Operators để kiểm tra các điều kiện phức tạp hơn. Ví dụ:
x = 5
y = 10
if x < 10 and y > 5:
print("x nhỏ hơn 10 và y lớn hơn 5")
if x == 5 or y == 20:
print("x bằng 5 hoặc y bằng 20")
if not x > y:
print("x không lớn hơn y")
Trong ví dụ này, ta sử dụng phép so sánh <
và >
kết hợp với toán tử and
để kiểm tra xem x
có nhỏ hơn 10 và y
có lớn hơn 5 không. Nếu cả hai điều kiện đều đúng thì thông báo “x nhỏ hơn 10 và y lớn hơn 5” được in ra. Tiếp theo, ta sử dụng phép so sánh ==
và or
để kiểm tra xem x
có bằng 5 hoặc y
có bằng 20 không. Nếu ít nhất một trong hai điều kiện đúng thì thông báo “x bằng 5 hoặc y bằng 20” được in ra. Cuối cùng, ta sử dụng phép so sánh >
kết hợp với toán tử not
để kiểm tra xem x
có lớn hơn y
không. Nếu điều kiện đúng thì thông báo “x không lớn hơn y” được in ra.