Huy Bui
1,067
26-12-2022
Toán tử 3 ngôi python hay còn được gọi là các biểu thức điều kiện. Đây 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à True (đúng) hoặc False (sai) đã được xác định từ trước. Việc ứng dụng toán tử 3 ngôi trong python giúp quá trình code trở nên đơn giản, thuận tiện hơn.
Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn chi tiết đến bạn cách viết cơ bản cũng như cách sử dụng toán tử trong python với các câu lệnh if python.
– Toán tử 3 ngôi trong python là một toán tử được cấu tạo bởi 3 số đối: điều kiện, kết quả khi điều kiện đúng, kết quả khi điều kiện sai.
– Kết quả ở đây có thể là 1 giá trị được trả về, hay cũng có thể là 1 xử lý sẽ thực hiện sau đó. Tất cả đều phụ thuộc vào việc điều kiện chỉ định là đúng hay sai.
– Toán tử 3 ngôi python cho phép chúng ta kiểu tra 1 điều kiện chỉ trong 1 dòng code duy nhất thay vì việc phải sử dụng nhiều lệnh if-else. Do đó, quá trình code sẽ diễn ra đơn giản và thông minh hơn rất nhiều.
Thông thường, chúng ta sử dụng toán tử 3 ngôi trong python với lệnh if else bằng 2 cách dưới đây:
– Chúng ta thường sử dụng toán tử này để chuyển đổi giá trị theo điều kiện, với cú pháp:
(true_value) if (condition) else (false_value);
– Trong đó: condition là điều kiện
true_value là giá trị trả về khi điều kiện đúng
false_value là giá trị trả về khi điều kiện sai
– Chẳng hạn: chúng ta sẽ kiểm tra 1 số có bằng 10 không như sau:
Cách viết thông thường sẽ như sau:
<pre><code>
if n == 10:
x = “OK”
else :
x = “NG”
<pre><code>
Trong khi đó, khi dùng toán tử 3 ngôi sẽ viết như sau:
<pre><code>
x = “OK” if n == 10 else “NG”
<pre><code>
Toán tử 3 ngôi python
– Một ví dụ khác, chúng ta sẽ kiểm tra 1 số là số chẵn hay là số lẻ trong python như sau:
Cách viết thông thường sẽ như sau:
<pre><code>
x = 101
if x % 2 == 0 :
s = ‘chẵn’
else:
s = ‘lẻ’
print(s) # lẻ
<pre><code>
Trong khi đó, khi dùng toán tử sẽ viết như sau:
<pre><code>
x = 101
s = ‘chẵn’ if x % 2 == 0 else ‘lẻ’
print(s) # lẻ
<pre><code>
– Khi sử dụng toán tử 3 ngôi trong python để chuyển đổi xử lý theo điều kiện, chúng ta sẽ sử dụng với cú pháp sau:
(true_expression) if (condition) else (false_expression);
– Trong đó: condition là điều kiện
true_expression là xử lý thực hiện khi điều kiện đúng
false_expression là thực hiện khi điều kiện sai.
– Ví dụ: Với bài toán tìm số chẵn số lẻ, chúng ta sẽ kiểm tra số đã cho là chẵn hay lẻ. Dùng toán tử này để thực hiện, các xử lý in ra màn hình kết quả tùy các trường hợp như sau:
<pre><code>
a = 1
print(‘chẵn’) if a % 2 == 0 else print(‘lẻ’)
# lẻ
<pre><code>
– Ví dụ: chúng ta sẽ nhân số đã cho với các số khác tùy thuộc số đó là chẵn hay lẻ, chẳng hạn:
Cách viết thông thường sẽ như sau:
<pre><code>
a = 1
if a % 2 == 0:
result = a * 2
else:
result = a * 3
print(result) # 3
<pre><code>
Trong khi đó, khi dùng toán tử 3 ngôi python sẽ viết như sau:
<pre><code>
a = 1
result = a * 2 if a % 2 == 0 else a * 3
print(result) # 3
<pre><code>
Toán tử 3 ngôi có điều kiện
– Bên cạnh đó, bạn cũng có thể sử dụng toán tử trong câu điều kiện if else kèm các toán tử logic (and, or) như sau:
<pre><code>
a = -2
result = ‘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ẵn
a = 1
result = ‘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ẻ
<pre><code>
– Hiện nay, tuy chưa có cách viết cụ thể nào để dành riêng khi sử dụng toán tử 3 ngôi với lệnh if elif else và viết lệnh này trên 1 dòng. Bằng cách biến tấu và sử dụng lồng toán tử 3 ngôi, chúng ta có thể làm được điều này với toán tử 3 ngôi có điều kiện hiệu quả.
– Lúc này, cú pháp sử dụng sẽ là:
A if (condition1) else B if (condition2) else C;
– Cú pháp này được dịch ra thành 2 toán tử cụ thể là:
A if condition1 else ( B if condition2 else C )
– Về thứ tự ưu tiên khi thực hiện toán tử 3 ngôi lúc này, python sẽ tiến hành thực hiện từ trong ra ngoài với toán tử 3 ngôi con trước.
+ Thực hiện D = ( B if condition2 else C )
+ Sau đó thực hiện A if condition1 else
Toán tử 3 ngôi với if elif else
– Ví dụ minh họa: chúng ta sử dụng toán tử python với lệnh if elif else để kiểm tra 1 số là số âm hay số dương như dưới đây:
<pre><code>
a = -1
result = ‘âm’ if a < 0 else ‘dương’ if a > 0 else ‘số 0’
print(result)
# âm
a = 0
result = ‘âm’ if a < 0 else ‘dương’ if a > 0 else ‘số 0’
print(result)
# số 0
a = 1
result = ‘âm’ if a < 0 else ‘dương’ if a > 0 else ‘số 0’
print(result)
# dương
<pre><code>
Kết hợp toán tử trong python với list comprehension là cách thường thấy khi các lập trình viên chuyên nghiệp dùng để viết code trong các chương trình Al. Đây là sự kết hợp giữa toán tử 3 ngôi python với list comprehension.
Bằng cách kết hợp với list comprehension này, chúng ta có thể dễ dàng thay đổi giá trị các phân tử trong list. Hay có thể lựa chọn xử lý tùy thuộc vào điều kiện mà chúng ta đặt ra.
Ví dụ minh họa:
<pre><code>
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]
<pre><code>
Hướng dẫn toán tử 3 ngôi python
Trên đây là những hướng dẫn và chi tiết minh họa về cách sử dụng toán tử 3 ngôi python. Để nắm chắc kiến thức về toán tử 3 ngôi, bạn hãy luyện tập thực hành nhiều hơn với các ví dụ minh họa trên hoặc tham gia lớp học data analysis và lớp học it business analyst