Chuyển đến nội dung chính

Toán tử logic trong Python: Giới thiệu thực hành

Python cung cấp ba toán tử logic: and, or và not. Các toán tử này, còn gọi là toán tử Boolean, đánh giá nhiều điều kiện và xác định giá trị chân lý tổng thể của một biểu thức.
· 13 phút đọc

Khám phá cùng AI

Trong lập trình, chúng ta thường cần đưa ra quyết định dựa trên nhiều điều kiện. Chẳng hạn, bạn có thể muốn chỉ thực thi một hành động nào đó nếu đồng thời thỏa mãn một số điều kiện. Hoặc bạn có thể muốn kích hoạt một hành động thay thế nếu bất kỳ một trong số các điều kiện được đáp ứng.

Python cung cấp một tập các toán tử logic – and, or, not – để xử lý những tình huống này.

Trong hướng dẫn này, chúng ta sẽ học cách các toán tử logic của Python hoạt động và cách sử dụng chúng trong lập trình và khoa học dữ liệu. Lưu ý rằng chúng tôi sẽ dùng các từ viết hoa AND, OR và NOT để biểu diễn các toán tử này về mặt khái niệm. Còn khi tham chiếu đến từ khóa Python, chúng tôi sẽ dùng quy ước: and, or và not.

Nếu bạn đang tìm một lộ trình học Python đã được tuyển chọn, hãy xem lộ trình kỹ năng sáu khóa Python Programming này.

Trước khi đi vào chi tiết, hãy bắt đầu với một câu trả lời thật ngắn gọn cho những bạn đang vội.

Câu trả lời ngắn: Toán tử logic trong Python là gì?

Toán tử logic của Python (and, or, not) là các từ khóa đặc biệt đóng vai trò liên từ trong mã, kết nối và đánh giá nhiều điều kiện trong một biểu thức duy nhất.

Xem ví dụ sau:

temperature = 25
is_sunny = True
if temperature > 20 and is_sunny:
    print("It's a perfect day for a picnic!")
It's a perfect day for a picnic!

Ở đây, toán tử and đảm bảo rằng thông điệp chỉ được in nếu cả hai điều kiện đều thỏa mãn: nhiệt độ trên 20 độ và trời nắng.

Hãy xem một ví dụ khác dùng toán tử or:

has_umbrella = False

if is_sunny or has_umbrella:
    print("Let's go for a walk!")
Let's go for a walk!

Trong trường hợp này, chúng ta sẽ ra ngoài đi dạo nếu hoặc trời nắng hoặc chúng ta có ô.

Cuối cùng, toán tử not đảo ngược giá trị chân lý của một điều kiện:

if not is_sunny:
    print("Maybe we should stay indoors.")

Ở đây, thông điệp chỉ được in nếu không có nắng.

Các toán tử logic cho phép chúng ta diễn đạt ngắn gọn và mạnh mẽ các điều kiện phức tạp, giúp chương trình đưa ra quyết định dựa trên nhiều yếu tố. Bây giờ, hãy đi sâu hơn và bắt đầu với toán tử logic and.

Python: Toán tử and

Trong logic Boolean, phép AND liên quan đến việc so sánh hai giá trị hoặc biểu thức. Kết quả là đúng chỉ khi cả hai giá trị đều đúng. Nếu một trong hai hoặc cả hai giá trị là sai, kết quả của phép AND là sai. Sau đây là tóm tắt cách AND hoạt động:

Phép toán

Giá trị đầu ra

true AND true

true

true AND false

false

false AND true

false

false AND false

false

Chúng ta có thể tái tạo bảng chân trị này với toán tử and của Python:

options = True, False
for a in options:
    for b in options:
        print(f"{a} and {b} gives {a and b}")
True and True gives True
True and False gives False
False and True gives False
False and False gives False

Biến options chứa hai giá trị Boolean. Vòng lặp for lồng nhau duyệt qua hai lần để tạo mọi hoán vị của True và False.

Thường thì các biểu thức dùng làm toán hạng cho and bao gồm các toán tử so sánh hoặc bằng nhau:

names = "James", "Bob", "David", "Jane", "Kate", "Mary"
for name in names:
   if len(name) < 5 and name[0] == "J":
      print(name)
Jane

Tên chỉ được in nếu có ít hơn năm chữ cái và bắt đầu bằng "J". Cần đáp ứng cả hai yêu cầu.

Các toán tử so sánh và bằng nhau, như < và ==, đánh giá thành True hoặc False.

Tuy nhiên, toán tử and của Python hoạt động trên mọi kiểu dữ liệu chứ không chỉ Boolean True và False. Giá trị đầu ra cũng có thể là bất kỳ kiểu dữ liệu nào.

Hãy khám phá chi tiết hơn về toán tử and của Python trong phần này. Trước hết, chúng ta sẽ bàn về tính đúng/sai (truthiness).

Python: truthy và falsy

Mọi đối tượng Python đều có thể được chuyển thành kiểu Boolean bằng hàm dựng sẵn bool(). Một đối tượng là truthy nếu bool(object) trả về True. Với đối tượng falsy, bool(object) trả về False.

Toán tử and của Python xét tính truthy của các toán hạng. Nếu cả hai toán hạng đều truthy, toán tử and cũng trả về một giá trị truthy. Nếu một hoặc cả hai toán hạng là falsy, and trả về một giá trị falsy. Hãy xem vài ví dụ:

if 42 and "python":
    print("Both operands are truthy")
else:
    print("One or both operands are falsy")
Both operands are truthy

Bây giờ, hãy xét ví dụ này:

if 42 and "":
    print("Both operands are truthy")
else:
    print("One or both operands are falsy")
One or both operands are falsy

Và hãy xem ví dụ cuối cùng này:

if 0 and "python":
    print("Both operands are truthy")
else:
    print("One or both operands are falsy")
One or both operands are falsy

Kiểu số, như số nguyên và số thực, là truthy nếu khác 0 và là falsy khi bằng 0. Các dãy, như chuỗi, là truthy khi không rỗng và falsy khi rỗng.

Do đó, chỉ ví dụ đầu tiên trong ba ví dụ trên thỏa điều kiện cả hai toán hạng đều truthy để toán tử and đánh giá thành truthy.

Toán tử and không phải lúc nào cũng trả về giá trị Boolean. Một biểu thức có and cũng có thể đánh giá thành một trong các toán hạng. Hãy đi sâu hơn với chính các ví dụ trước. Thay vì dùng biểu thức and trong câu lệnh if, ta sẽ đánh giá trực tiếp:

print(42 and "python")
print(42 and "")
print(0 and "python")
python

0

Bạn có nhận ra chuyện gì đang xảy ra với các biểu thức này không?

Hãy bắt đầu với ví dụ thứ ba, có 0 và "python" làm hai toán hạng. Toán tử and tìm hai toán hạng đều truthy. Vì toán hạng đầu là 0, nó là falsy. Chương trình không cần kiểm tra toán hạng thứ hai vì toàn bộ biểu thức sẽ là falsy bất kể giá trị của toán hạng thứ hai.

Tuy nhiên, toán tử and không trả về False. Thay vào đó, nó trả về trực tiếp toán hạng đầu. Vì toán hạng đầu là falsy, toàn bộ biểu thức and đánh giá thành falsy. Điều này không gây vấn đề trong Python, vì ở những nơi Python cần giá trị đúng/sai, nó có thể dùng tính truthy của đối tượng.

Trong ví dụ đầu, toán hạng đầu là 42, vốn truthy. Chương trình đánh giá toán hạng thứ hai và trả về nó. Vì toán hạng thứ hai là chuỗi "python", một giá trị truthy, toàn bộ biểu thức đánh giá là truthy.

Trong ví dụ thứ hai, toán hạng đầu cũng là 42. Vì nó truthy, chương trình đánh giá và trả về toán hạng thứ hai, là chuỗi rỗng. Chuỗi rỗng là falsy, vì vậy toàn bộ biểu thức and đánh giá là falsy.

Khi toán hạng đầu là truthy, toán tử and luôn trả về giá trị của toán hạng thứ hai, bất kể toán hạng thứ hai là truthy hay falsy.

Khi toán hạng đầu là falsy, Python không đánh giá toán hạng thứ hai. Điều này gọi là short-circuiting, một dạng đánh giá lười (lazy evaluation). Bạn có thể kiểm chứng với đoạn mã sau:

0 and 5/0
0

Toán hạng thứ hai là 5/0, bình thường sẽ phát sinh ZeroDivisionError. Tuy nhiên, biểu thức 5/0 không được đánh giá trong ví dụ này vì toán hạng đầu là falsy. Ngoại lệ không bao giờ được phát sinh.

Ví dụ: Cửa hàng trực tuyến dành cho lập trình viên

Hãy xét một ví dụ đơn giản phản ánh ứng dụng thực tế. Các giao dịch tại một cửa hàng trực tuyến cung cấp hàng hóa cho lập trình viên được ghi nhận và truy cập qua API. Dữ liệu được chuyển thành một danh sách các dictionary. Mỗi phần tử trong danh sách đại diện cho một giao dịch và mỗi giao dịch là một dictionary chứa thông tin liên quan:

data = [
{"Item": "Python Book", "Price": 50, "Quantity": 1, "Success": True},
{"Item": "Coffee Machine", "Price": 125, "Quantity": 1, "Success": False},
{"Item": "Headphones", "Price": 250, "Quantity": 1, "Success": True},
{"Item": "Cables", "Price": 15.99, "Quantity": 3, "Success": True},
]

Mỗi giao dịch bao gồm tên và giá của mặt hàng, số lượng trong đơn và trạng thái giao dịch có thành công hay không.

Giả sử chúng ta cần các giao dịch thành công cho các mặt hàng có giá từ $100 trở lên. Ta có thể dùng toán tử and để lọc các dòng cần thiết:

for item in data:
    if item["Success"] and item["Price"] >= 100:
        print(item)
{'Item': 'Headphones', 'Price': 250, 'Quantity': 1, 'Success': True}

Kết quả cho thấy giao dịch duy nhất đáp ứng cả hai yêu cầu. Với mỗi phần tử trong danh sách giao dịch, câu lệnh if kiểm tra tính truthy của hai biểu thức:

  • Các giá trị gắn với khóa "Success" trong mỗi dictionary là True hoặc False.
  • Toán tử lớn hơn hoặc bằng trong item["Price"] >= 100 cũng trả về True hoặc False.

Cuốn sách Python và dây cáp không đạt yêu cầu về giá vì dưới $100. Máy pha cà phê vượt ngưỡng giá, nhưng giao dịch không thành công nên bị loại khỏi kết quả in ra.

Chúng ta sẽ quay lại ví dụ cửa hàng trực tuyến này ở phần sau của hướng dẫn.

Trong phần tiếp theo, chúng ta sẽ tập trung vào toán tử or.

Python: Toán tử or

Toán tử logic OR trong logic Boolean cần hai toán hạng. Nó đánh giá là true nếu ít nhất một trong các toán hạng là true:

Phép toán

Giá trị đầu ra

true OR true

true

true OR false

true

false OR true

true

false OR false

false

Chúng ta có thể tái tạo bảng chân trị này bằng toán tử or của Python:

options = True, False
for a in options:
    for b in options:
        print(f"{a} or {b} gives {a or b}")
True or True gives True
True or False gives True
False or True gives True
False or False gives False

Chúng ta cũng có thể xem lại ví dụ về tên người ở trên nhưng thay and bằng or:

names = "James", "Bob", "David", "Jane", "Kate", "Mary"
for name in names:
    if len(name) < 5 or name[0] == "J":
        print(name)
James
Bob
Jane
Kate
Mary

Câu lệnh if giờ chứa một biểu thức or. Vì vậy, vòng lặp for in ra tất cả các tên hoặc có ít hơn năm chữ cái hoặc bắt đầu bằng chữ cái "J". Chuỗi "Jane" đáp ứng cả hai yêu cầu. Các tên còn lại được in vì đáp ứng một trong hai yêu cầu.

Toán tử or trong Python: truthy và falsy

Toán tử or cũng xét các giá trị truthy và falsy chứ không chỉ các giá trị Boolean True và False. Hãy xem vài ví dụ:

if 42 or [10, 20, 30]:
    print("At least one operand is truthy")
else:
    print("None of the operands is truthy")
At least one operand is truthy

Giờ hãy xét ví dụ này:

if 42 or []:
    print("At least one operand is truthy")
else:
    print("None of the operands is truthy")
At least one operand is truthy

Và hãy xét ví dụ cuối cùng này:

if 0 or []:
    print("At least one operand is truthy")
else:
    print("None of the operands is truthy")
None of the operands is truthy

Trong ví dụ đầu, số nguyên 42 và danh sách không rỗng [10, 20, 30] đều là truthy. Vì toán tử or chỉ cần ít nhất một toán hạng truthy, toàn bộ biểu thức đánh giá là truthy.

Trong ví dụ thứ hai, 42 là truthy nhưng danh sách rỗng [] là falsy vì nó là một dãy rỗng. Chỉ cần một trong hai toán hạng là truthy, toàn bộ biểu thức or đánh giá là truthy.

Trong ví dụ cuối, cả 0 và [] đều là falsy. Do đó, toàn bộ biểu thức đánh giá là falsy.

Toán tử or cũng dùng short-circuit khi đánh giá biểu thức để tránh đánh giá không cần thiết. Hãy xem vài ví dụ minh họa:

print(42 or [10, 20, 30])
print(42 or [])
print([] or 42)
print([] or 0)
42
42
42
0

Trong ví dụ đầu, toán hạng thứ nhất là 42, một giá trị truthy. Vì or chỉ cần một toán hạng truthy để quyết định tính chân lý cuối cùng của toàn biểu thức, toán hạng thứ nhất được trả về ngay. Toán hạng thứ hai không được đánh giá vì giá trị của nó không ảnh hưởng kết quả cuối. Toán tử or trả về toán hạng đầu, 42, chứ không phải Boolean True. Trong Python, mọi giá trị truthy có tác dụng tương đương Boolean True trong các tình huống như câu lệnh if và while.

Trong ví dụ thứ hai, toán hạng đầu cũng là 42, và biểu thức trả về số nguyên này dù toán hạng thứ hai là falsy.

Trong ví dụ thứ ba và thứ tư, toán hạng đầu là danh sách rỗng, vốn falsy. Vì vậy, toán hạng thứ hai được trả về trong cả hai trường hợp.

Ví dụ: Cửa hàng trực tuyến dành cho lập trình viên

Hãy quay lại các giao dịch từ cửa hàng trực tuyến bán hàng cho lập trình viên. Đây là bốn giao dịch mẫu dùng trong ví dụ:

data = [
{"Item": "Python Book", "Price": 50, "Quantity": 1, "Success": True},
{"Item": "Coffee Machine", "Price": 125, "Quantity": 1, "Success": False},
{"Item": "Headphones", "Price": 250, "Quantity": 1, "Success": True},
{"Item": "Cables", "Price": 15.99, "Quantity": 3, "Success": True},
]

Bạn cần xác định một số giao dịch để nghiên cứu thêm hành vi khách hàng. Bạn muốn tìm các giao dịch hoặc thất bại hoặc bao gồm mặt hàng có giá dưới $75. Vì có hai điều kiện và bạn chỉ cần giao dịch đáp ứng ít nhất một trong hai, bạn có thể dùng toán tử or:

for item in data:
    if item["Success"] == False or item["Price"] < 75:
        print(item)
{'Item': 'Python Book', 'Price': 50, 'Quantity': 1, 'Success': True}
{'Item': 'Coffee Machine', 'Price': 125, 'Quantity': 1, 'Success': False}
{'Item': 'Cables', 'Price': 15.99, 'Quantity': 3, 'Success': True}

Vòng lặp for này hiển thị các dòng khớp ít nhất một yêu cầu. Cuốn sách Python và dây cáp được đưa vào vì giá dưới $75. Máy pha cà phê được đưa vào vì giao dịch không thành công.

Có một cách khác để lọc các giao dịch không thành công, chúng ta sẽ khám phá ở phần tiếp theo.

Python: Toán tử not

Toán tử NOT khác với AND và OR vì nó chỉ cần một toán hạng. NOT chuyển true thành false và ngược lại. Đây là bảng chân trị cho NOT:

Phép toán

Giá trị đầu ra

NOT true

false

NOT false

true

Chúng ta có thể tái hiện điều này bằng toán tử not của Python:

options = True, False
    for a in options:
        print(f"not {a} evaluates to {not a}")
not True evaluates to False
not False evaluates to True

Toán tử not trong Python: truthy và falsy

Giống như and và or, toán hạng dùng với not không nhất thiết phải là Boolean. Vì mọi đối tượng đều hoặc truthy hoặc falsy, bất kỳ đối tượng nào cũng có thể dùng với not.

if not "python":
    print("The `if` statement evaluated as `True`")
else:
    print("The `if` statement evaluated as `False`")
The `if` statement evaluated as `False`

Hãy xem thêm ví dụ này:

if not "":
    print("The `if` statement evaluated as `True`")
else:
    print("The `if` statement evaluated as `False`")
The `if` statement evaluated as `True`

Các giá trị truthy được chuyển thành False với toán tử not và các giá trị falsy được chuyển thành True.

Không giống and và or, toán tử not luôn trả về một đối tượng Boolean:

print(not "python")
print(not "")
False
True

Ví dụ: Cửa hàng trực tuyến dành cho lập trình viên

Ở các phần trước, chúng ta đã dùng các giao dịch từ một cửa hàng trực tuyến. Trong ví dụ này, chúng ta muốn hiển thị tất cả các giao dịch không thành công. Một cách là dùng toán tử bằng nhau == để kiểm tra liệu data["Success"] có bằng False hay không. Tuy nhiên, chúng ta cũng có thể dùng toán tử not:

data = [
{"Item": "Python Book", "Price": 50, "Quantity": 1, "Success": True},
{"Item": "Coffee Machine", "Price": 125, "Quantity": 1, "Success": False},
{"Item": "Headphones", "Price": 250, "Quantity": 1, "Success": True},
{"Item": "Cables", "Price": 15.99, "Quantity": 3, "Success": True},
]
for item in data:
    if not item["Success"]:
        print(item)
{'Item': 'Coffee Machine', 'Price': 125, 'Quantity': 1, 'Success': False}

Vì item["Success"] bằng False với các giao dịch không thành công, not item["Success"] trả về True. Do đó, vòng lặp for in ra các giao dịch không thành công:

Trong phần tiếp theo, chúng ta sẽ học cách kết hợp nhiều toán tử logic trong một biểu thức.

Python: Thứ tự ưu tiên toán tử

Trong các ví dụ trước, mỗi lần chúng ta chỉ dùng một trong các toán tử logic. Ở phần này, chúng ta sẽ xem điều gì xảy ra khi kết hợp nhiều toán tử logic trong một biểu thức.

Python: and có ưu tiên cao hơn or

Chúng ta sẽ tiếp tục làm việc với các giao dịch từ cửa hàng trực tuyến đã dùng trước đó. Hãy thử câu điều kiện sau:

data = [
{"Item": "Python Book", "Price": 50, "Quantity": 1, "Success": True},
{"Item": "Coffee Machine", "Price": 125, "Quantity": 1, "Success": False},
{"Item": "Headphones", "Price": 250, "Quantity": 1, "Success": True},
{"Item": "Cables", "Price": 15.99, "Quantity": 3, "Success": True},
]
​
for item in data:
    if item["Price"] > 100 or item["Quantity"] > 2 and item["Success"]:
        print(item)
{'Item': 'Coffee Machine', 'Price': 125, 'Quantity': 1, 'Success': False}
{'Item': 'Headphones', 'Price': 250, 'Quantity': 1, 'Success': True}
{'Item': 'Cables', 'Price': 15.99, 'Quantity': 3, 'Success': True}

Câu lệnh if chứa hai toán tử logic. Trước khi xem Python xử lý biểu thức này như thế nào, hãy diễn đạt nó bằng tiếng Anh: Nếu giá mặt hàng trên $100 hoặc số lượng bán lớn hơn hai và giao dịch thành công thì in ra mặt hàng.

Câu này mơ hồ nếu không có thêm dấu câu và có thể vẫn gây nhầm lẫn dù thêm dấu phẩy. Ví dụ, giao dịch với máy pha cà phê có nên được tính không? Giá mặt hàng vượt ngưỡng yêu cầu nhưng giao dịch không thành công.

Python giải quyết sự mơ hồ này bằng cách cho toán tử and ưu tiên cao hơn toán tử or. Nghĩa là biểu thức and được đánh giá trước, và kết quả của nó được dùng trong biểu thức or.

Vì vậy, biểu thức item["Quantity"] > 2 and item["Success"] được đánh giá trước. Biểu thức này trả về một giá trị truthy chỉ với giao dịch có dây cáp. Nó đánh giá là falsy đối với các mặt hàng còn lại.

Giá trị từ biểu thức and sau đó được dùng với toán tử or. Biểu thức or trả về giá trị truthy cho bất kỳ mặt hàng nào có giá trị truthy từ biểu thức and—chỉ có giao dịch dây cáp—và cho các mặt hàng có giá trên $100. Có hai mặt hàng vượt ngưỡng giá: máy pha cà phê và tai nghe.

Python: dấu ngoặc và toán tử logic

Tuy nhiên, nếu chúng ta cần các giao dịch có mặt hàng giá trên $100 hoặc có số lượng trên hai, nhưng cũng muốn đảm bảo giao dịch thành công thì sao? Trong trường hợp này, chúng ta muốn biểu thức or có ưu tiên cao hơn and để được đánh giá trước. Ta có thể đạt được điều này bằng cách đặt dấu ngoặc quanh biểu thức or:

for item in data:
    if (item["Price"] > 100 or item["Quantity"] > 2) and item["Success"]:
        print(item)
{'Item': 'Headphones', 'Price': 250, 'Quantity': 1, 'Success': True}
{'Item': 'Cables', 'Price': 15.99, 'Quantity': 3, 'Success': True}

Dấu ngoặc bổ sung trao quyền ưu tiên cho biểu thức or. Giao dịch máy pha cà phê không còn được đưa vào vì nó đánh giá falsy đối với toán hạng thứ hai của and.

Python: not có ưu tiên cao hơn and và or

Toán tử not có ưu tiên cao hơn and và or. Vì vậy, not được đánh giá trước hai toán tử logic còn lại.

Hãy xét câu lệnh if sau, bao gồm cả not và and:

for item in data:
    if not item["Success"] and item["Price"] > 100:
        print(item)
{'Item': 'Coffee Machine', 'Price': 125, 'Quantity': 1, 'Success': False}

Vì not được đánh giá trước, biểu thức này sẽ áp dụng toán tử not lên item["Success"] trước. Giá trị từ biểu thức not sau đó được dùng làm toán hạng thứ nhất trong biểu thức and. Chỉ mục máy pha cà phê thỏa điều kiện này—đây là giao dịch duy nhất thất bại và có giá trên $100.

Tuy nhiên, chúng ta có thể trao ưu tiên cho toán tử and bằng cách dùng dấu ngoặc:

for item in data:
    if not (item["Success"] and item["Price"] > 100):
        print(item)
{'Item': 'Python Book', 'Price': 50, 'Quantity': 1, 'Success': True}
{'Item': 'Coffee Machine', 'Price': 125, 'Quantity': 1, 'Success': False}
{'Item': 'Cables', 'Price': 15.99, 'Quantity': 3, 'Success': True}

Trong trường hợp này, biểu thức and được đánh giá trước. Chỉ mục có tai nghe đánh giá thành True vì đó là giao dịch thành công duy nhất với giá trên $100. Tuy nhiên, chúng ta thêm một toán tử not trước biểu thức trong ngoặc. Do đó, mã in ra ba giao dịch còn lại.

Nói chung, nếu một biểu thức trở nên quá phức tạp vì có quá nhiều toán tử, tốt nhất là tách ra để dễ đọc hơn.

Kết luận

Các toán tử logic and, or và not của Python được dùng rộng rãi trong nhiều ứng dụng lập trình và khoa học dữ liệu. Chúng mô phỏng hành vi của các toán tử logic Boolean AND, OR và NOT thường dùng trong logic và toán học.

Tuy nhiên, các toán tử Python có thể nhận bất kỳ đối tượng nào chứ không chỉ giá trị Boolean. Toán tử and và or dùng đánh giá ngắn mạch (short-circuit) và trả về một trong các toán hạng làm đầu ra.

Các toán tử logic của Python là công cụ then chốt để lọc dữ liệu, nhận diện đặc trưng trong tập dữ liệu và tạo các quy tắc phức tạp để điều khiển luồng chương trình. Nếu bạn muốn tìm hiểu thêm, hãy xem lộ trình nghề nghiệp chín khóa Data Analyst With Python.

Stephen Gruppetta

Tác giả

Stephen Gruppetta

Tôi học Vật lý và Toán ở bậc đại học tại Đại học Malta. Sau đó, tôi chuyển đến London và lấy bằng Tiến sĩ Vật lý tại Imperial College. Tôi nghiên cứu các kỹ thuật quang học mới để chụp ảnh võng mạc người. Hiện nay, tôi tập trung vào việc viết về Python, truyền đạt về Python và giảng dạy Python.

Câu hỏi thường gặp về toán tử logic trong Python

Tôi có thể dùng toán tử and để kiểm tra nhiều điều kiện cùng lúc không?

Có, bạn có thể xâu chuỗi nhiều điều kiện cùng lúc bằng toán tử and. Ví dụ: if x > 5 and x < 10 and x != 7.

Sự khác nhau giữa toán tử and và toán tử AND theo bit (&) là gì?

Toán tử and thực hiện phép AND logic trên các giá trị Boolean, trả về True chỉ khi cả hai toán hạng đều True. Toán tử AND theo bit (&) thực hiện phép AND theo bit trên biểu diễn nhị phân của các giá trị số nguyên.

Python có các toán tử && và || như một số ngôn ngữ khác không?

Không, Python dùng từ khóa and và or thay vì ký hiệu && và || cho các phép logic.

Chủ đề

Liên quan