×

Tìm hiểu và sử dụng các tính năng mới trong Python 3.10+

Gần đây, Python đã trải qua nhiều thăng trầm và tiến bộ vượt bậc, đặc biệt là với việc phát hành phiên bản 3.10+. Các tính năng mới không chỉ đem lại hiệu suất cao hơn mà còn cải thiện trải nghiệm lập trình, giúp người dùng dễ dàng viết mã sạch và hiệu quả hơn. Trong bài viết này, chúng ta sẽ cùng tìm hiểu một số tính năng nổi bật của Python 3.10 và cách chúng có thể được sử dụng trong thực tiễn.

Mẫu phù hợp (Pattern Matching)

Một trong những cập nhật đáng chú ý nhất trong Python 3.10 là tính năng mẫu phù hợp, thường được ví như "switch-case" trong các ngôn ngữ lập trình khác. Tính năng này cho phép bạn xử lý các cấu trúc dữ liệu phức tạp một cách tiện lợi và dễ dàng.

def http_error(status):
    match status:
        case 400:
            return "Bad request"
        case 401:
            return "Unauthorized"
        case 403:
            return "Forbidden"
        case 404:
            return "Not found"
        case _:
            return "Something's wrong with the internet"

Với mẫu phù hợp, bạn có thể đơn giản hoá việc xử lý chuỗi điều kiện phức tạp, tạo ra mã nguồn dễ đọc và bảo trì hơn.

Chỉ báo kiểu (TypeHinting) cho kiểu tổng hợp (Union)

Python 3.10 đã cải thiện việc chỉ báo kiểu bằng cách giới thiệu cú pháp mới cho kiểu tổng hợp, giúp cho mã nguồn trở nên ngắn gọn và rõ ràng hơn.

def process(items: list[int | str]) -> None:
    for item in items:
        print(item)

Thay vì sử dụng Union trong thư viện typing, bạn có thể sử dụng dấu nối | để biểu diễn kiểu dữ liệu tổng hợp. Điều này trực quan hơn và dễ viết hơn nhiều.

Cải tiến xử lý ngoại lệ (Exception Groups)

Quản lý ngoại lệ từ lâu đã là một phần không thể thiếu trong việc phát triển phần mềm. Python 3.11 đã giới thiệu "Exception Groups", cho phép bạn nhóm nhiều ngoại lệ lại với nhau. Điều này đặc biệt hữu ích khi có nhiều lỗi xảy ra cùng một lúc.

try:
    raise ExceptionGroup("Multiple errors", [ValueError("error1"), TypeError("error2")])
except* ValueError as e:
    print("Caught a ValueError:", e)
except* TypeError as e:
    print("Caught a TypeError:", e)

Các hàm constants bổ sung

Python 3.10 cũng bổ sung thêm các hàm constants trong thư viện math, giúp dễ dàng xử lý các giá trị toán học tiêu chuẩn mà không cần phải tự định nghĩa.

import math

print(math.tau)  # Gấp đôi số pi
print(math.prod([1, 2, 3, 4]))  # Tính tổng

Hàm itertools.pairwise

Thư viện itertools đã thêm hàm pairwise để dễ dàng tạo cặp từ một danh sách.

import itertools

numbers = [1, 2, 3, 4, 5]
pairs = list(itertools.pairwise(numbers))
print(pairs)  # [(1, 2), (2, 3), (3, 4), (4, 5)]

Lời kết

Python 3.10+ đã mang lại nhiều tính năng hữu ích và quan trọng, giúp cải thiện không chỉ hiệu suất mà còn gia tăng trải nghiệm lập trình. Với những cải tiến này, Python tiếp tục khẳng định vị thế của mình như một ngôn ngữ lập trình linh hoạt và mạnh mẽ. Dù bạn là người mới học hay là lập trình viên kinh nghiệm, việc làm quen và sử dụng những tính năng mới này sẽ giúp bạn tạo ra các dự án chất lượng cao hơn và hiệu quả hơn.

Comments