[Tự Học Python] Toán Tử Ba Ngôi Trong Python »
Có thể bạn quan tâm
🔥CHỌN LỌC TOP NHỮNG KHOÁ HỌC LẬP TRÌNH ONLINE NHIỀU NGƯỜI THEO HOC TẠI ĐÂY🔥
Tenary operators (Toán tử ba ngôi) còn được gọi là các biểu thức điều kiện, là các toán tử thực hiện đánh giá một cái gì đó dựa trên một điều kiện “là đúng” hoặc “là sai” đã được xác định trước. Toán tử này đã được thêm vào Python trong phiên bản 2.5. Nó chỉ đơn giản là cho phép kiểm tra một điều kiện nào đó trong một dòng code duy nhất, thay vì phải sử dụng nhiều chuỗi if-else, giúp cho code chở nên gọn gàng hơn.
Cú pháp
[on_true] if [expression] else [on_false]1. Phương pháp đơn giản để sử dụng tenary operator
# Đoạn chương trình mô tả cách sử dụng toán tử kiểm tra điều kiện a, b = 10, 20 # Nếu a < b thì copy giá trị của biến a vào biến min, nếu không thì copy giá trị của biến b vào biến min min = a if a < b else b print(min)Kết quả in ra là:
102. Phương pháp trực tiếp bằng cách sử dụng tuple, kiểu Dictionary và lambda
# Đoạn chương trình Python mô tả cách sử dụng tenary operatora, b = 10, 20 # Sử dụng tuple để chọn ra một phần tử # (if_test_false,if_test_true)[test] print( (b, a) [a < b] ) # Sử dụng Dictionary để chọn ra một phần tử print({True: a, False: b} [a < b]) # lamda hiệu quả hơn nhiều so với hai phương pháp trên # bởi vì với lambda, chúng ta có thể đảm bảo rằng # chỉ có một biểu thức sẽ được đánh giá, không giống như trong # tuple và Dictionary print((lambda: b, lambda: a)[a < b]()) print((lambda: b, lambda: a)[a < b]())Kết quả in ra là:
10 10 103. Tenary operator có thể được viết dưới dạng các các chuỗi if-else lồng nhau
# Đoạn chương trình Python mô tả cách sử dụng nested ternary operator (toán tử ba ngôi ở dạng lồng) print ("Both a and b are equal" if a == b else "a is greater than b" if a > b else "b is greater than a")Cách tiếp cận sử dụng nested tenary operator ở trên có thể được viết thành:
# Đoạn chương trình Python mô tả cách sử dụng nested ternary operator (toán tử ba ngôi ở dạng lồng) a, b = 10, 20 if a != b: if a > b: print("a is greater than b") else: print("b is greater than a") else: print("Both a and b are equal")Kết quả in ra là:
b is greater than aMột số điểm quan trọng:
– Đầu tiên, phần điều kiện được đánh giá (a < b), sau đó hoặc là a hoặc là b
sẽ được trả về dựa trên giá trị Boolean được trả về bởi điều kiện đó
– Thứ tự của các đối số truyền vào hàm toán tử sẽ khác nhau đối với các
ngôn ngữ lập trình khác nhau
– Mức độ ưu tiên của các biểu thức điều kiện là thấp nhất trong số tất cả các
toán tử của Python.
4. Phương pháp được sử dụng trước phiên bản 2.5 (khi chưa có tenary
4.1 operator – toán tử ba ngôi)
Trong một biểu thức có dạng giống với ví dụ bên dưới đây, trình thông dịch (interpreter) sẽ kiểm tra biểu thức này, nếu nó là true (đúng) thì on_true sẽ được đánh giá, nếu không thì on_false sẽ được đánh giá.
4.2 Cú pháp:
‘ ‘ ‘ Khi điều kiện là true (đúng), biểu thức [on_false] sẽ không được thực thi và giá trị của “True and [on_true]” sẽ được trả về. Nếu không thì giá trị của “False or [on_false]” sẽ được trả về.
Lưu ý rằng “True and x” sẽ bằng với x, và “False or x” sẽ bằng với x. ‘ ‘ ‘
[expression] and [on_true] or [on_false]4.3 Ví dụ:
# Program to demonstrate conditional operator a, b = 10, 20 # If a is less than b, then a is assigned # else b is assigned (Note : it doesn't # work if a is 0. min = a < b and a or b print(min)Kết quả in ra là:
10Lưu ý rằng: Hạn chế duy nhất của phương pháp này là on_true phải không được bằng 0 hoặc False. Nếu on_true bằng 0 hoặc False thì on_false sẽ luôn luôn được đánh giá. Điều này xảy ra là do nếu biểu thức được đánh giá là true (đúng), thì trình thông dịch (interpreter) sẽ kiểm tra on_true, tuy nhiên nếu on_true lại bằng 0 hoặc bằng False, thì điều đó sẽ buộc trình thông dịch phải kiểm tra on_false để đưa ra kết quả cuối cùng của toàn bộ biểu thức.
- Full series tự học Python từ cơ bản tới nâng cao tại đây nha.
- Ebook về python tại đây.
Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:
- Group Facebook
- Fanpage
- Youtube
- Trang chủ
Chào thân ái và quyết thắng!
Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!
Từ khóa » Toán Tử điều Kiện Trong Python
-
Toán Tử 3 Ngôi Trong Python Và Cách Rút Gọn Lệnh điều Kiện
-
Bài 9: Các Toán Tử Cơ Bản Trong Python
-
Chi Tiết Bài Học 7. Điều Kiện Và Lặp - Vimentor
-
Python Có Một Toán Tử điều Kiện Ternary? - HelpEx
-
Các Loại Toán Tử Trong Python - T3H
-
Toán Tử Trong Python - Hoclaptrinh
-
Lệnh If, If...else, If...elif...else Trong Python
-
Toán Tử Python - Tech Wiki
-
Toán Tử Trong Python - Viblo
-
Bài 08. Toán Tử Trong Python (Python Operators)
-
Toán Tử 3 Ngôi Trong Python Và Cách Rút Gọn Lệnh điều Kiện
-
Toán Tử Logical Trong Python | Codelearn
-
[Python] Một Số Tips Khi Code (Phần 1) - Viblo
-
Lệnh If - Elif - Else Trong Python | TopDev
-
LẬP TRÌNH PYTHON CƠ BẢN #4: CÁC TOÁN TỬ ĐIỀU KIỆN CƠ ...
-
Toán Tử So Sánh Và Logic Trong Python - TEK4
-
Cấu Trúc điều Kiện Và Vòng Lặp Trong Ngôn Ngữ Python - ERX
-
Python: Các Phép Toán Cơ Bản | V1Study
-
Câu điều Kiện If Và Toán Tử điều Kiện (If Statements And Conditional ...