- 1 1. Giới thiệu
- 2 2. Cách viết câu lệnh if trên một dòng bằng toán tử ba ngôi của Python
- 3 3. Kết hợp List Comprehensions và câu lệnh if
- 4 4. Sử dụng một dòng cho câu lệnh if và for của Python
- 5 5. Câu lệnh if một dòng với biểu thức gán (toán tử Walrus)
- 6 6. Lưu ý khi sử dụng câu lệnh if trên một dòng
- 7 7. Tóm tắt và các bước tiếp theo
1. Giới thiệu
Trong lập trình Python, viết câu lệnh if trên một dòng giúp đơn giản hoá mã và đặc biệt hữu ích trong các tình huống mà nhánh điều kiện xuất hiện thường xuyên. Trong bài viết này, chúng tôi sẽ giải thích chi tiết một số kỹ thuật để viết câu lệnh Python “if” trên một dòng. Học cách viết mã dễ đọc, hiệu quả với các ví dụ thực tế như toán tử ba ngôi và list comprehensions.
2. Cách viết câu lệnh if trên một dòng bằng toán tử ba ngôi của Python
Trong Python, bạn có thể viết một câu lệnh if trên một dòng bằng toán tử ba ngôi (biểu thức điều kiện). Nó hữu ích khi trả về một giá trị dựa trên một điều kiện và cho phép bạn giữ mã ngắn gọn.
Cú pháp toán tử ba ngôi
Toán tử ba ngôi của Python được viết như sau:
variable = value1 if condition else value2
Với cú pháp này, “value1” sẽ được trả về nếu điều kiện là True, và “value2” sẽ được trả về nếu nó là False.
Ví dụ: Kiểm tra chẵn lẻ
Ví dụ, bạn có thể kiểm tra một số là chẵn hay lẻ và trả về các chuỗi khác nhau dựa trên kết quả, như sau:
number = 4
result = "even" if number % 2 == 0 else "odd"
print(result) # Output: even
Vì bạn có thể viết câu lệnh if trên một dòng như vậy, nó rất tiện lợi cho các nhánh điều kiện đơn giản.
Ứng dụng thực tế của toán tử ba ngôi
Ví dụ, bạn có thể sử dụng toán tử ba ngôi để hiển thị một thông báo tùy thuộc vào việc người dùng đã đăng nhập hay chưa.
is_logged_in = True
message = "Welcome" if is_logged_in else "Please log in"
print(message) # Output: Welcome
Toán tử ba ngôi lý tưởng cho các lựa chọn đơn giản dựa trên một điều kiện. Tuy nhiên, viết logic phức tạp trên một dòng có thể làm giảm khả năng đọc, vì vậy nên chỉ dùng cho các trường hợp đơn giản. 
3. Kết hợp List Comprehensions và câu lệnh if
List comprehensions của Python cung cấp cách mạnh mẽ để viết mã ngắn gọn khi tạo danh sách. Khi kết hợp với câu lệnh if, bạn có thể xây dựng danh sách theo các điều kiện đã chỉ định.
Cú pháp cơ bản của List Comprehensions
Khi sử dụng câu lệnh if trong một list comprehension, bạn viết như sau:
list = [expression for variable in iterable if condition]
Ví dụ: Tạo danh sách các số chẵn
Để thu thập chỉ các số chẵn từ 0 đến 9 vào một danh sách, viết như sau:
even_numbers = [x for x in range(10) if x % 2 == 0]
print(even_numbers) # Output: [0, 2, 4, 6, 8]
Các ví dụ áp dụng của List Comprehensions
List comprehensions cũng hữu ích cho việc lọc và biến đổi dữ liệu. Ví dụ, chúng có thể giúp khi trích xuất chỉ các từ có độ dài nhất định từ một danh sách các chuỗi.
words = ["apple", "banana", "cherry", "date"]
filtered_words = [word for word in words if len(word) > 5]
print(filtered_words) # Output: ['banana', 'cherry']
Bằng cách sử dụng list comprehensions, bạn có thể rút ngắn mã của mình đồng thời hiệu quả trong việc trích xuất hoặc biến đổi dữ liệu dựa trên các điều kiện.
4. Sử dụng một dòng cho câu lệnh if và for của Python
Bằng cách kết hợp các câu lệnh for và if, bạn có thể viết một dòng mã xử lý chỉ các phần tử đáp ứng một điều kiện nhất định. Điều này hữu ích để đơn giản hoá các thao tác danh sách lớn.
Cú pháp một dòng cho câu lệnh if và for
Cú pháp cơ bản như sau.
list = [expression for variable in iterable if condition]
Ví dụ: Tạo danh sách các bình phương của số chẵn
Để liệt kê các bình phương của các số chẵn từ 1 đến 10, sử dụng như sau.
squared_evens = [x**2 for x in range(1, 11) if x % 2 == 0]
print(squared_evens) # Output: [4, 16, 36, 64, 100]
Ví dụ áp dụng: Lọc dữ liệu dựa trên các điều kiện cụ thể
Mã này trích xuất chỉ các số dương từ một danh sách và thu thập chúng vào một danh sách mới.
numbers = [-5, -1, 2, 8, -3, 7]
positive_numbers = [num for num in numbers if num > 0]
print(positive_numbers) # Output: [2, 8, 7]
Việc viết if và for cùng nhau trên một dòng như vậy giảm sự dư thừa mã đồng thời cho phép thao tác dữ liệu hiệu quả. 
5. Câu lệnh if một dòng với biểu thức gán (toán tử Walrus)
Biểu thức gán (toán tử cá sấu) :=, được giới thiệu trong Python 3.8 trở lên, cho phép gán giá trị cho một biến trong câu lệnh if. Đặc điểm chính của nó là cho phép bạn đánh giá một điều kiện đồng thời lưu trữ kết quả của phép tính.
Cú pháp và cách sử dụng cơ bản của biểu thức gán
Cú pháp và cách sử dụng cơ bản của biểu thức gán
if (variable := expression) condition:
process
Ví dụ: Sử dụng độ dài của danh sách làm điều kiện
Độ dài của danh sách được lấy và đánh giá như một điều kiện, đồng thời thực hiện xử lý dựa trên nó.
some_list = [1, 2, 3, 4, 5]
if (length := len(some_list)) > 3:
print(f"The length of the list is {length}, which is greater than 3")
# Output: The length of the list is 5, which is greater than 3
Các trường hợp sử dụng thực tế
Bằng cách sử dụng toán tử cá sấu, bạn có thể tránh các phép tính lặp lại và có khả năng cải thiện hiệu năng. Nó đặc biệt hiệu quả trong các tình huống mà kết quả của một phép tính—như các thao tác trên danh sách hoặc chuỗi—cần được tái sử dụng.
6. Lưu ý khi sử dụng câu lệnh if trên một dòng
Câu lệnh if trên một dòng rất mạnh mẽ, nhưng việc lạm dụng chúng có thể làm giảm khả năng đọc hiểu. Chỉ sử dụng chúng cho các kiểm tra điều kiện đơn giản, và chuyển sang câu lệnh if thông thường khi cần logic phức tạp hơn.
7. Tóm tắt và các bước tiếp theo
Trong bài viết này, chúng tôi đã giới thiệu nhiều kỹ thuật để viết câu lệnh if trong Python trên một dòng. Từ các nhánh điều kiện đơn giản đến việc thao tác danh sách và sử dụng toán tử cá sấu, chúng tôi đã đề cập đến lợi ích và lưu ý khi dùng câu lệnh if trên một dòng. Hãy thử áp dụng các kỹ thuật này để làm cho việc lập trình Python hàng ngày của bạn trở nên hiệu quả hơn.



