Trang tài liệu
Khóa học Python cho người mới bắt đầu
Chương 1: Kiến thức cơ bản về Python
Bài 19. Toán Tử Logic trong Python

Bài 19. Toán Tử Logic trong Python

Toán tử logic trong Python được sử dụng để tạo ra các biểu thức logic phức tạp. Mỗi toán hạng cho các toán tử logic này chính là một biểu thức logic. Ví dụ:

Ví dụ

age > 16 and marks > 80
percentage < 50 or attendance < 75

Cùng với từ khóa False, Python hiểu None, số không của tất cả các loại, và các chuỗi rỗng (chuỗi, tuple, list), từ điển rỗng và tập hợp rỗng là False. Tất cả các giá trị khác được coi là True.

Trong Python, có ba toán tử logic. Chúng là "and", "or" và "not". Chúng phải ở dạng viết thường.

Toán Tử Logic "and"

Đối với biểu thức logic phức tạp, cả hai toán hạng phải đều là True để biểu thức trở thành True. Nếu bất kỳ hoặc cả hai toán hạng đều đánh giá thành False, biểu thức trả về False.

Bảng Chân Trị của Toán Tử Logic "and"

Bảng dưới đây hiển thị các trường hợp:

aba and b
FFF
FTF
TFF
TTT

Toán Tử Logic "or"

Ngược lại, toán tử or trả về True nếu bất kỳ một trong các toán hạng là True. Đối với biểu thức logic phức tạp, cả hai toán hạng phải đều là False để biểu thức trở thành False.

Bảng Chân Trị của Toán Tử Logic "or"

Bảng dưới đây hiển thị kết quả của toán tử "or" với các điều kiện khác nhau:

aba or b
FFF
FTT
TFT
TTT

Toán Tử Logic "not"

Đây là một toán tử một ngôi. Trạng thái của toán hạng logic theo sau sẽ được đảo ngược. Kết quả là, not True trở thành False và not False trở thành True.

Bảng Chân Trị của Toán Tử Logic "not"

anot (a)
FT
TF

Cách Trình Diễn Python Đánh Giá Các Toán Tử Logic?

Biểu thức "x and y" đầu tiên đánh giá "x". Nếu "x" là False, giá trị của nó được trả về; nếu không, "y" được đánh giá và giá trị kết quả được trả về.

Biểu thức "x or y" đầu tiên đánh giá "x"; nếu "x" là True, giá trị của nó được trả về; nếu không, "y" được đánh giá và giá trị kết quả được trả về.

Ví dụ về Toán Tử Logic Python

Dưới đây là một số trường hợp sử dụng của các toán tử logic:

Ví dụ 1: Các Toán Tử Logic Với Điều Kiện Boolean

x = 10
y = 20
print("x > 0 and x < 10:",x > 0 and x < 10)
print("x > 0 and y > 10:",x > 0 and y > 10)
print("x > 10 or y > 10:",x > 10 or y > 10)
print("x%2 == 0 and y%2 == 0:",x%2 == 0 and y%2 == 0)
print ("not (x+y>15):", not (x+y)>15)

Kết quả sẽ là:

x > 0 and x < 10: False
x > 0 and y > 10: True
x > 10 or y > 10: True
x%2 == 0 and y%2 == 0: True
not (x+y>15): False

Ví dụ 2: Các Toán Tử Logic Với Điều Kiện Không Phải Boolean

Chúng ta có thể sử dụng các toán hạng không phải boolean với các toán tử logic. Ở đây, chúng ta cần nhớ rằng bất kỳ số khác không và các chuỗi không rỗng sẽ được đánh giá thành True. Do đó, các bảng chân trị của các toán tử logic cũng áp dụng.

Trong ví dụ dưới đây, các toán hạng số được sử dụng cho các toán tử logic. Các biến "x", "y" được đánh giá thành True, "z" là False.

x = 10
y = 20
z = 0
print("x and y:",x and y)
print("x or y:",x or y)
print("z or x:",z or x)
print("y or z:", y or z)

Kết quả sẽ là:

x and y: 20
x or y: 10
z or x: 10
y or z: 20

Ví dụ 3: Các Toán Tử Logic Với Chuỗi và Tuple

Biến chuỗi được coi là True và tuple rỗng là False trong ví dụ dưới đây.

a="Hello"
b=tuple()
print("a and b:",a and b)
print("b or a:",b or a)

Kết quả sẽ là:

a and b: ()
b or a: Hello

Ví dụ 4: Các Toán Tử Logic Để So Sánh Các Chuỗi (Danh Sách)

Cuối cùng, hai đối tượng danh sách dưới đây là không rỗng. Do đó, x and y trả về phần sau cùng, và x or y trả về phần đầu tiên.

x=[1,2,3]
y=[10,20,30]
print("x and y:",x and y)
print("x or y:",x or y)

Kết quả sẽ là:

x and y: [10, 20, 30]
x or y: [1, 2, 3]

Các ví dụ trên giúp bạn hiểu rõ về cách sử dụng và hoạt động của các toán tử logic trong Python. Hãy áp dụng chúng vào mã của bạn và tận dụng tính linh hoạt mà chúng mang lại!

Nếu bạn có bất kỳ câu hỏi hoặc cần thêm thông tin, hãy liên hệ với chúng tôi, chúng tôi luôn sẵn sàng giải đáp mọi thắc mắc của bạn! Chúc bạn thành công trong quá trình chinh phục Python!