Python 3.5 được xây dựng dựa trên các thế mạnh vốn có và vay mượn từ Go

Ngoc Huynh

Bản cập nhật mới nhất của Python bao gồm hàm async, type hinting, và phép nhân ma trận với một số hay còn gọi là nhân vô hướng ma trận (matrix manipulation), khi các lập trình viên tìm kiếm sự chấp nhận rộng rãi hơn đối với nhánh 3.x

Các lập trình viên Python – là ngôn ngữ lập trình phổ biến thứ 15 trên thế giới – hiện tại đã có thêm một vài tính năng mới đối với việc thực hiện các hoạt động không đồng bộ, toán ma trận, type hinting, và các hàm khác.

Phiên bản Python 3.5 cũng có nhiều chức năng mới bắt chước từ các ngôn ngữ lập trình khác, nhưng cũng không thể cho rằng Python bị ảnh hưởng nhiều bởi các tác động bên ngoài. Đúng hơn là, hầu hết các chức năng mới của Python 3.5 đều là sự bổ sung hay cải tiến dựa trên các chức năng đang sẵn có.

Coroutines (async/await)

Coroutines là sự bổ sung quan trọng của Python 3.5, mang đến một cách thức riêng để thực hiện lập trình bất đồng bộ. Một hàm được gắn nhãn bằng từ khóa async vào một coroutine:

async def read_data(db):
data = await db.fetch(‘SELECT …’)

Một hàm giống thế này sẽ đợi dữ liệu đến từ hàm db.fetch (cũng còn gọi là một hàm async), nhưng sẽ không ngăn cản sự thực thi của các hàm khác.

Python đã có khả năng thực thi lập trình bất đồng bộ, ngoài cú pháp được cho là “un-Pythonic”, tức là không phù hợp với các behavior được đồng thuận của ngôn ngữ. Hàm async/await sẽ giúp giải quyết vấn đề này, và sẽ mang đến các tính năng tương tự với ngôn ngữ Go.

Type hinting

Type hinting là một sự bổ sung tuyệt vời khác, mang đến lựa chọn dành cho các biến số diễn giải (kể cả các đối số của hàm) để biểu thị loại biến số đang sử dụng. Ví dụ:

def greet(name: str) -> str
return ‘Hello there, {}’.format(name)

Đối với hàm này, biến số name là một chuỗi, và là một giá trị được gửi trả lại bởi hàm. Đối với những trường hợp này, thì bạn không cần kiểm tra kiểu dữ liệu được thực thi ở hệ thống runtime (thời điểm chạy); thay vì được thực thi tùy chọn bởi một hệ thống phân tích code thuộc bên thứ ba.

Bộ vận hành matrix multiplication @

Toán học và các ứng dụng khoa học là những trường hợp tiêu biểu sử dụng Python, ngoại trừ matrix multiplication không có một bộ vận hành tiêu chuẩn trong Python. Các thư viện khoa học và toán để Python triển khai matrix multiplication, nhưng không nhất quán.

Bộ vận hành @ infix của 3.5 mang đến một cú pháp chung dành cho toán ma trận, với sự cam kết là sẽ mang đến code dễ đọc và nhất quán hơn. Bản phát hành tương lai của Numpy và gói stats cũng sẽ hỗ trợ @ dành cho matrix multiplication ở tốc độ cao.

Sự phát triển trong tương lai của Python đều tập trung vào nhánh 3.x. Trong khi đó nhánh 2.x được sử dụng một cách rộng rãi hơn, nhưng nó ít linh hoạt hơn. Một số yếu tố nổi bật của hệ sinh thái Python đã có sự thay đổi – ví dụ như: đa số các gói Python phổ biến nhất hiện nay đều có khả năng tương thích 3.x.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/