1. Cơ bản về toán tử or trong Python
Toán tử or là gì?
or
là một trong những toán tử logic của Python, trả về True
nếu ít nhất một trong hai điều kiện là True
. Chỉ khi cả hai điều kiện đều là False
, nó mới trả về False
. Toán tử này rất hữu ích khi kết hợp nhiều điều kiện, giúp đơn giản hóa các câu lệnh điều kiện.
Cách sử dụng cơ bản
Toán tử or
được sử dụng như sau. Khi kết hợp hai điều kiện bằng or
, nếu ít nhất một điều kiện là True
, kết quả sẽ là True
.
a = 5
b = 10
if a > 3 or b < 5:
print("Ít nhất một điều kiện là đúng")
else:
print("Cả hai điều kiện đều sai")
Trong ví dụ này, a > 3
là True
, trong khi b < 5
là False
. Tuy nhiên, vì sử dụng toán tử or
, chỉ cần một trong hai điều kiện là True
, kết quả cuối cùng sẽ là True
.
Đặc điểm của toán tử or
Toán tử or
có tính chất đánh giá ngắn mạch (short-circuit evaluation). Điều này có nghĩa là nếu điều kiện bên trái là True
, điều kiện bên phải sẽ không được đánh giá. Điều này giúp tiết kiệm tài nguyên tính toán.
Ví dụ, trong đoạn mã sau, vì điều kiện đầu tiên là True
, nên b == 10
sẽ không được kiểm tra.
a = 5
b = 10
if a > 3 or b == 10:
print("Do a lớn hơn 3, việc đánh giá dừng lại ở đây")

2. Ứng dụng toán tử or trong câu lệnh if
Sử dụng toán tử or với nhiều điều kiện
Trong câu lệnh if
của Python, toán tử or
rất hữu ích khi kiểm tra nhiều điều kiện. Ví dụ, nếu bạn muốn thực hiện một hành động khi một trong hai điều kiện được đáp ứng, bạn có thể sử dụng or
để viết mã ngắn gọn hơn.
Dưới đây là ví dụ sử dụng toán tử or
để xác định hành động dựa trên độ tuổi của người dùng.
age = 16
if age < 18 or age > 65:
print("Bạn đủ điều kiện để nhận ưu đãi giảm giá")
else:
print("Bạn không thuộc diện giảm giá")
Trong ví dụ này, những người dưới 18 tuổi hoặc trên 65 tuổi sẽ được hưởng ưu đãi giảm giá. Toán tử or
giúp kết hợp hai điều kiện một cách đơn giản.
Kết hợp nhiều điều kiện với toán tử or
Toán tử or
giúp xử lý các điều kiện phức tạp một cách dễ dàng. Trong ví dụ sau, ta sử dụng nhiều biến và chỉ cần một điều kiện đúng thì chương trình sẽ thực hiện hành động tương ứng.
temperature = 35
humidity = 70
if temperature > 30 or humidity > 60:
print("Bật điều hòa ngay!")
else:
print("Không cần bật điều hòa")
Trong trường hợp này, nếu nhiệt độ vượt quá 30 độ hoặc độ ẩm vượt quá 60%, chương trình sẽ khuyến nghị bật điều hòa. Đây là cách đơn giản hóa các quyết định hàng ngày bằng toán tử or
.

3. Tối ưu hóa hiệu suất với toán tử or
Đánh giá ngắn mạch (Short-circuit evaluation)
Python sử dụng cơ chế “đánh giá ngắn mạch” (short-circuit evaluation) khi xử lý toán tử or
. Điều này có nghĩa là nếu điều kiện bên trái là True
, Python sẽ bỏ qua điều kiện bên phải mà không cần kiểm tra.
Ví dụ:
def check():
print("Hàm check() được gọi")
return True
if True or check():
print("Điều kiện đầu tiên là True, nên check() không được gọi")
Trong ví dụ trên, vì điều kiện đầu tiên là True
, Python không cần đánh giá hàm check()
, giúp tiết kiệm tài nguyên và cải thiện hiệu suất.
Sử dụng or để gán giá trị mặc định
Toán tử or
có thể được sử dụng để gán giá trị mặc định khi một biến có thể là None
hoặc giá trị không mong muốn (ví dụ: chuỗi rỗng, số 0, danh sách trống).
Ví dụ:
username = ""
display_name = username or "Khách"
print(display_name) # Kết quả: "Khách"
Trong trường hợp này, vì username
là chuỗi rỗng (được coi là False
trong Python), or
sẽ trả về giá trị mặc định “Khách”.

4. Sự khác biệt giữa or và | trong Python
or và | có gì khác nhau?
Trong Python, toán tử or
và |
(bitwise OR) đều có thể dùng để kết hợp hai giá trị, nhưng chúng có cách hoạt động khác nhau:
or
: Toán tử logic, hoạt động trên các giá trị boolean và tuân theo quy tắc đánh giá ngắn mạch.|
: Toán tử bitwise, hoạt động trên các số nguyên nhị phân.
Ví dụ về toán tử or
a = False
b = True
result = a or b # Kết quả: True
print(result)
Ví dụ về toán tử bitwise |
a = 0b1010 # 10 ở hệ thập phân
b = 0b1100 # 12 ở hệ thập phân
result = a | b # Kết quả: 0b1110 (14 ở hệ thập phân)
print(bin(result))
Toán tử |
thực hiện phép toán OR theo từng bit:
- 1010 (10)
- 1100 (12)
- ——
- 1110 (14)
Khi nào nên sử dụng or và |?
Bạn nên sử dụng or
khi làm việc với điều kiện logic và sử dụng |
khi thao tác với dữ liệu nhị phân hoặc bit.

5. Toán tử or trong danh sách và tuple
Sử dụng or với danh sách
Toán tử or
có thể được sử dụng để kiểm tra danh sách rỗng và gán giá trị mặc định.
my_list = []
result = my_list or ["Giá trị mặc định"]
print(result) # Kết quả: ["Giá trị mặc định"]
Vì danh sách rỗng ([]
) được coi là False
, nên giá trị mặc định sẽ được sử dụng.
Sử dụng or với tuple
Tuple hoạt động tương tự danh sách khi sử dụng với toán tử or
.
my_tuple = ()
result = my_tuple or ("Giá trị mặc định",)
print(result) # Kết quả: ("Giá trị mặc định",)

6. Sử dụng toán tử or trong lập trình thực tế
Kiểm tra giá trị đầu vào
Toán tử or
rất hữu ích khi kiểm tra và xử lý dữ liệu đầu vào.
def get_username(input_name):
return input_name or "Người dùng không tên"
print(get_username("Linh")) # Kết quả: "Linh"
print(get_username("")) # Kết quả: "Người dùng không tên"
Sử dụng or trong xử lý lỗi
Bạn có thể dùng or
để đặt giá trị mặc định khi có lỗi.
def divide(a, b):
return a / b if b != 0 else "Lỗi: không thể chia cho 0"
print(divide(10, 2)) # Kết quả: 5.0
print(divide(10, 0)) # Kết quả: "Lỗi: không thể chia cho 0"

7. Tổng kết
- Toán tử
or
trong Python giúp kiểm tra điều kiện logic, thiết lập giá trị mặc định và tối ưu hóa hiệu suất. - Cơ chế đánh giá ngắn mạch giúp cải thiện hiệu suất bằng cách bỏ qua các phần không cần thiết.
or
khác với toán tử|
, một toán tử thực hiện phép toán trên các bit.- Toán tử
or
có thể sử dụng trong nhiều tình huống thực tế như kiểm tra dữ liệu đầu vào hoặc xử lý lỗi.
Hy vọng bài viết này giúp bạn hiểu rõ về cách sử dụng toán tử or
trong Python. Nếu bạn có bất kỳ câu hỏi nào, hãy để lại bình luận bên dưới!
