Toán Tử 3 Ngôi Trong Python Và Cách Rút Gọn Lệnh điều Kiện
Có thể bạn quan tâm
Trong lập trình Python, toán tử ba ngôi (ternary operator) là một công cụ mạnh mẽ giúp rút gọn mã lệnh và làm cho mã trở nên dễ đọc hơn. Toán tử ba ngôi cho phép chúng ta thực hiện một hành động dựa trên một điều kiện cụ thể, giúp việc quyết định luồng của chương trình trở nên linh hoạt và dễ dàng hơn. Trong bài viết này, chúng ta sẽ tìm hiểu về cách sử dụng toán tử ba ngôi trong Python và cách nó giúp cải thiện hiệu suất và tính linh hoạt của mã nguồn.
Toán tử 3 ngôi trong python là gì
Toán tử 3 ngôi trong python là một toán tử được cấu tạo bởi ba đối số gồm điều kiện, kết quả khi điều kiện đúng và kết quả khi điều kiện sai. Kết quả ở đây có thể là một giá trị được trả về, cũng có thể là một xử lý sẽ thực hiện sau đó tùy thuộc vào điều kiện chỉ định là đúng hay sai.
Toán tử 3 ngôi cho phép bạn thực hiện một phần của mã dựa trên một điều kiện, và nó thường được sử dụng trong các biểu thức có tính chất như “nếu … thì … còn không thì …”.
Toán tử 3 ngôi trong python cho phép chúng ta 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 câu lệnh if-else, giúp cho việc code đơn giản và thông minh hơn.
Toán tử 3 ngôi và cách trả về giá trị theo điều kiện
Chúng ta sử dụng toán tử 3 ngôi trong python để chuyển đổi giá trị theo điều kiện với cú pháp sau đây:
giá_trị1 if điều_kiện else giá_trị2
Trong đó:
- “giá_trị1” là giá trị được trả về nếu điều kiện là đúng.
- “giá_trị2” là giá trị được trả về nếu điều kiện là sai.
- “điều_kiện” là biểu thức logic được kiểm tra.
Ví dụ cơ bản về sử dụng toán tử 3 ngôi:
x = 10status = "Lớn hơn 5" if x > 5 else "Không lớn hơn 5"print(status) |
Trong ví dụ này, nếu giá trị của “x” lớn hơn 5, thì biến “status” sẽ được gán giá trị là “Lớn hơn 5”, ngược lại sẽ là “Không lớn hơn 5”.
Toán tử 3 ngôi cũng có thể được sử dụng trong các biểu thức phức tạp hơn. Ví dụ, bạn có thể tính giá trị tuyệt đối của một số:
x = -10absolute_x = x if x >= 0 else -xprint(absolute_x) # Kết quả: 10 |
Toán tử 3 ngôi rất hữu ích để rút gọn lệnh if trong python. Ví dụ, chúng ta kiểm tra một số là chẵn hay lẻ trong python như sau:
Cách viết thông thường
x = 101if x % 2 == 0 : s = 'chẵn'else: s = 'lẻ'print(s) # lẻ |
Cách dùng toán tử 3 ngôi
x = 101s = 'chẵn' if x % 2 == 0 else 'lẻ'print(s) # lẻ |
Toán tử 3 ngôi và cách chuyển đổi xử lý theo điều kiện
Chúng ta sử dụng toán tử 3 ngôi trong python để chuyển đổi xử lý theo điều kiện với cú pháp sau đây:
xử_lý1 if điều_kiện else xử_lý2
Trong đó:
- “xử_lý1” là xử lý được thực thi nếu điều kiện là đúng.
- “xử_lý2” là xử lý được thực thi nếu điều kiện là sai.
- “điều_kiện” là biểu thức logic được kiểm tra.
Ví dụ, cũng với bài toán tìm số chẵn số lẻ, chúng ta kiểm tra số đã cho là chẵn hay lẻ và dùng toán tử 3 ngôi để thực hiện các xử lý in ra màn hình tùy trường hợp như sau:
a = 1print('chẵn') if a % 2 == 0 else print('lẻ')# lẻ |
Một ví dụ khác, chúng ta nhân số đã cho với các số khác nhau tùy thuộc số đó chẵn hay lẻ như sau:
Cách viết thông thường
a = 1if a % 2 == 0: result = a * 2 else: result = a * 3 print(result) # 3 |
Cách dùngToán tử 3 ngôi
a = 1result = a * 2 if a % 2 == 0 else a * 3print(result) # 3 |
Lại nữa, bạn có thể sử dụng toán tử 3 ngôi trong câu lệnh if else kèm với các toán tử logic (and, or) như sau:
a = -2result = 'số âm hoặc chẵn' if a < 0 and a % 2 == 0 else 'số dương hoặc lẻ'print(result) #số âm hoặc chẵna = 1result = 'số âm và chẵn' if a < 0 and a % 2 == 0 else 'số dương và lẻ'print(result) # số dương và lẻ |
- Chi tiết về cách sử dụng các toán tử logic trong python, bạn hãy xem tại bài viết toán tử logic trong python
Toán tử 3 ngôi với lệnh if elif else
Mặc dù không có cách viết nào được chuẩn bị riêng để chúng ta sử dụng toán tử 3 ngôi trong python với lệnh if elif else và viết lệnh này chỉ trên một dòng, nhưng bằng cách biến tấu và sử dụng lồng toán tử 3 ngôi, chúng ta hoàn toàn có thể làm được điều này.
Cú pháp chúng ta sử dụng với toán tử 3 ngôi lúc này sẽ là:
A if (condition1) else B if (condition2) else C;
Cú pháp trên được dịch ra thành hai toán tử ba ngôi như sau:
A if condition1 else ( B if condition2 else C ) |
Về thứ tự ưu tiên thực hiện toán tử lúc này, python sẽ thực hiện từ toán tử 3 ngôi con trước, nghĩa là từ trong ra ngoài:
- Thực hiện D = ( B if condition2 else C )
- Sau đó thực hiện A if condition1 else
Ví dụ, chúng ta sử dụng toán tử 3 ngôi trong python với lệnh if elif else để kiểm tra một số là âm hay dương như sau:
a = -1result = 'âm' if a < 0 else 'dương' if a > 0 else 'số 0'print(result)# âma = 0result = 'âm' if a < 0 else 'dương' if a > 0 else 'số 0'print(result)# số 0a = 1result = 'âm' if a < 0 else 'dương' if a > 0 else 'số 0'print(result)# dương |
Toán tử 3 ngôi với list comprehension
Đây là cách mà các lập trình viên chuyên nghiệp thường dùng để viết code trong chương trình AI, đó là kết hợp toán tử 3 ngôi trong python với list comprehension.Bằng cách kết hợp toán tử 3 ngôi với list comprehension, chúng ta có thể tự do thay đổi giá trị các phần tử trong list, hoặc là lựa chọn xử lý tùy thuộc vào điều kiện mà chúng ta đặt ra.Ví dụ:
l = ['even' if i % 2 == 0 else i for i in range(10)]print(l)# ['even', 1, 'even', 3, 'even', 5, 'even', 7, 'even', 9]l = [i * 10 if i % 2 == 0 else i for i in range(10)]print(l)# [0, 1, 20, 3, 40, 5, 60, 7, 80, 9] |
- Bạn có thể tìm hiểu chi tiết về list comprehension tại bài viết Sử dụng list comprehension trong Python.
Tổng kết
Trong bài viết này, chúng ta đã tìm hiểu cách sử dụng toán tử 3 ngôi trong Python và cách nó có thể giúp làm cho mã của chúng ta ngắn gọn và dễ đọc hơn. Toán tử 3 ngôi là một công cụ hữu ích mà bạn nên biết cách sử dụng để tối ưu hóa mã nguồn và làm cho mã của bạn trở nên dễ quản lý hơn.
URL Link
https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/lenh-dieu-kien-trong-python/toan-tu-3-ngoi-trong-python/
Từ khóa » Toán Tử điều Kiện Trong Python
-
Bài 9: Các Toán Tử Cơ Bản Trong Python
-
[Tự Học Python] Toán Tử Ba Ngôi 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 ...