Toán Tử 3 Ngôi Trong Python Và Cách Rút Gọn Lệnh điều Kiện

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 trong python

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:

Copy
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ố:

Copy
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

Copy
x = 101if x % 2 == 0 : s = 'chẵn'else: s = 'lẻ'print(s) # lẻ

Cách dùng toán tử 3 ngôi

Copy
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:

Copy
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

Copy
a = 1if a % 2 == 0: result = a * 2 else: result = a * 3 print(result) # 3

Cách dùngToán tử 3 ngôi

Copy
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:

Copy
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:

Copy
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:

  1. Thực hiện D = ( B if condition2 else C )
  2. 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:

Copy
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ụ:

Copy
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