Toán tử 3 ngôi trong python | Laptrinhcanban.com

HOME › >>

Toán tử 3 ngôi trong python

Hướng dẫn cách sử dụng toán tử 3 ngôi trong python. Bạn sẽ học được khái niệm toán tử 3 ngôi trong python là gì, cách viết cơ bản cũng như cách sử dụng toán tử 3 ngôi với câu lệnh if trong python sau bài học này.

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 đúngkế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 chuyển đổi 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:

(value_if_true) if (condition) else (value_if_false);

Trong đó:

  • condition là một biểu thức hoặc giá trị boolean mà bạn muốn kiểm tra.
  • value_if_true là giá trị được trả về nếu condition là True.
  • value_if_false là giá trị được trả về nếu condition là False.

Ví dụ cơ bản về sử dụng toán tử 3 ngôi:

x = 10
y = 20
max_value = x if x > y else y
print(max_value) # Kết quả: 20

Trong ví dụ này, chúng ta sử dụng toán tử 3 ngôi để so sánh giá trị của biến xy, và max_value sẽ nhận giá trị của x nếu x lớn hơn y, ngược lại nó sẽ nhận giá trị của y.

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 = -10
absolute_x = x if x >= 0 else -x
print(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 = 101
if x % 2 == 0 :
s = 'chẵn'
else:
s = 'lẻ'
print(s) # lẻ

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

x = 101
s = '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:

(expression_if_true) if (condition) else (expression_if_true);

Trong đó:

  • condition là một biểu thức hoặc giá trị boolean mà bạn muốn kiểm tra.
  • expression_if_true là xử lý được thực hiện nếu condition là True.
  • expression_if_true là xử lý được thực hiện nếu condition là False.

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 = 1
print('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 = 1
if a % 2 == 0:
result = a * 2
else:
result = a * 3
print(result) # 3

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

a = 1
result = a * 2 if a % 2 == 0 else a * 3
print(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 = -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ẻ

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:

  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:

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

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]

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/

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.