December 22, 2021 Yen Lily

Python 3.10 và những tính năng mới tuyệt vời

Ngày nay, Python là một trong những ngôn ngữ lập trình phổ biến nhất vì nhiều lý do. Nó rất linh hoạt, dễ học và luôn có những cải tiến.

Vào ngày 4 tháng 10 năm 2021, Python Software Foundation (PSF) đã phát hành Python 3.10. Trong phiên bản mới này, PSF đã bổ sung các tính năng độc đáo và đáng giá, đồng thời cũng loại bỏ một số tính năng cũ. Hãy cùng tìm hiểu một số tính năng và tiện ích bổ sung mới nhất trong phiên bản này nhé.

1. Theo dõi lỗi tốt hơn

Nếu mỗi ngày bạn đều sử dụng Python để viết mã và dạy việc viết mã, bạn sẽ rất khó chịu khi gặp lỗi cú pháp. Mặc dù lỗi cú pháp rất dễ sửa khi bạn đã nắm rõ về Python và lập trình, nhưng đôi khi chúng ta cần các thông báo lỗi giúp xác định lỗi hiệu quả hơn và tiết kiệm thời gian gỡ lỗi.

Trong Python 3.10, điều này dễ dàng hơn nhiều với các thông báo lỗi tốt hơn và số dòng chính xác để gỡ lỗi. Hãy xem ví dụ ở đây, nơi chúng ta có một dictionary và một hàm. Tuy nhiên, trong đoạn mã này, chúng ta đã quên đóng dictionary.

some_dict = {1: "jack", 2: "john", 3: "james" ,
a_results = a_useful_function()

Trong các phiên bản Python trước, thông báo lỗi sẽ giống như bên dưới:

File "amazing_code.py", line 3
   a_results = a_useful_function()

             ^

SyntaxError: invalid syntax

Với các thông báo lỗi mới và cải tiến đánh số dòng, thông báo lỗi sẽ có thông tin đầy đủ hơn, như lỗi đó chính xác là loại nào và số dòng chính xác ở đâu.

File "amazing_code.py", line 1
   expected = {1: "jack", 2: "john", 3: "james" ,

                                 ^

SyntaxError: '{' was never closed

Tính năng mới này sẽ giúp gỡ lỗi nhanh hơn nhiều và khiến những người mới bắt đầu học Python đỡ “điên đầu” hơn.

2. Đối sánh mô hình cấu trúc (Structural Pattern Matching)

Phiên bản cũ của Python sẽ cần dùng các câu lệnh if, elif, elif,…., else và đôi khi bạn chỉ ước nó có câu lệnh switch giống như các ngôn ngữ lập trình khác như C ++. Đừng lo lắng, trong phiên bản mới này, PSF đã thêm đối sánh mô hình cấu trúc hay còn được gọi là câu lệnh switch, case có cú pháp sau:

match subject:
   case <patt1>:
       <act1>
   case <patt2>:
       <act2>
   case <patt3>:
       <act3>
   case _:
       <action_default>

3. Union Operator mới

Mặc dù Python là một ngôn ngữ lập trình động, nhưng có nhiều cách để làm cho một số phần của nó tĩnh (ví dụ: Bạn đang viết một hàm và loại thuộc tính có ý nghĩa quan trọng đối với các dấu phẩy bên trong hàm của bạn). Trong các phiên bản trước, bạn có thể chỉ định loại thuộc tính, chẳng hạn như:

def func(num: int) -> int:
   return num + 5

Tuy nhiên, nếu bạn muốn chấp nhận cả hai loại thuộc tính, thì bạn sẽ cần sử dụng từ khóa union.

def func(num: Union[int, float]) -> Union[int, float]:
   return num + 5

Trong phiên bản Python mới, bạn có thể chọn giữa hai loại, bằng cách sử dụng | thay vì union cho những quyết định đơn giản.

def func(num: int | float) -> int | float:
   return num + 5

4. Cờ nghiêm ngặt hơn cho zip

Python có một hàm gọi là zip(), một hàm tích hợp cho phép bạn kết hợp và lặp lại các phần tử từ một số chuỗi. Trong các phiên bản cũ, bạn có thể đã sử dụng zip với các chuỗi có độ dài khác nhau nhưng Python 3.10 đã giới thiệu một tham số mới, strict was, để kiểm tra xem tất cả các tệp lặp được chuyển đến hàm zip có cùng độ dài hay không.

5. Mã hóa văn bản tự động

Khi một lập trình viên khắc phục lỗi, chúng ta thường nghe thấy những câu kiểu “Trên máy tôi vẫn bình thường mà!”, nhưng không có nghĩa là máy khác cũng như vậy. Có nhiều lý do, chẳng hạn như mã hóa văn bản, tại sao một mã sẽ hoạt động trên máy này mà không hoạt động trên máy kia.

Trong các phiên bản Python trước, nếu bạn không nêu rõ loại mã hóa, thì kiểu mã hóa cục bộ ưa thích có thể khiến mã bị lỗi trên các máy khác. Trong Python 3.10, một cảnh báo sẽ kích hoạt để thông báo cho người dùng khi (hoặc nếu) họ mở một tệp văn bản mà không có kiểu mã hóa cụ thể.

6. Lặp lại không đồng bộ

Lập trình không đồng bộ là một mô hình lập trình mạnh mẽ và nâng cao, là một phần của Python kể từ phiên bản 3.5. Trong Python 3.10, có hai hàm tích hợp không đồng bộ mới, aiter() và anext(), để làm cho mã của bạn dễ đọc hơn.

Với mỗi bản phát hành mới của Python, PSF lại bổ sung thêm các tính năng mới đáng kinh ngạc giúp ngôn ngữ này viết hiệu quả hơn và dễ học hơn. Nếu bạn muốn đọc thêm về những thay đổi khác trong Python 3.10, bạn có thể truy cập liên kết này.

iRender - GPU cloud tốt nhất cho Python

Tại iRender, chúng tôi cung cấp nhiều GPU cho thuê với RTX3090 hiện đại. Máy chủ từ xa của chúng tôi được Tối ưu hóa cho Khoa học Máy tính, Học máy, Học sâu.

Chúng tôi không chỉ hỗ trợ Python mà còn hỗ trợ tất cả các IDE & Thư viện AI như: TensorFlow, Jupyter, Anaconda, MXNet, PyTorch, Keras, CNTK, Caffe, v.v.

Bạn có thể tham khảo các gói bên dưới được chúng tôi thiết kế riêng cho AI/ Học sâu:

Ngoài ra, tại iRender, chúng tôi còn cung cấp cho bạn nhiều hỗ trợ khác, không chỉ những cấu hình trên.

NVLink khiến nâng cao hiệu suất

Nếu 24GB VRam không đủ cho dự án của bạn, chúng tôi luôn có NVLink để giúp bạn tiếp cận nhiều hơn thế. Bạn có thể đọc bài viết này để biết cách set up NVLink tren máy của chúng tôi.

Công cụ truyền tải miễn phí và tiện lợi

iRender cung cấp một công cụ truyền tệp miễn phí và mạnh mẽ: Gpuhub Sync. Với tốc độ truyền file nhanh chóng, dung lượng dữ liệu lớn và hoàn toàn miễn phí. Bạn có thể chuyển tất cả dữ liệu cần thiết vào công cụ Gpuhub Sync của chúng tôi bất kỳ lúc nào mà không cần kết nối với server. Dữ liệu sẽ được đồng bộ tự động trong ổ Z bên trong server, sẵn sàng cho bạn sử dụng.

Giá cả linh hoạt

Ngoài giá thuê theo giờ, bạn có thể tiết kiệm từ 10% đến 20% với tính năng tự động thuê dài hạn (fixed rental) của chúng tôi. Đối với những ai cần thuê server nhiều hơn một ngày, hoặc có dự án cực lớn, chúng tôi khuyên bạn nên chọn gói thuê theo ngày/ tuần/ tháng. Mức chiết khấu rất hấp dẫn (lên đến 10% đối với gói hàng ngày, 20% đối với gói hàng tuần và tháng) và bạn không phải lo lắng về việc bị tính phí quá mức nếu bạn quên shutdown server.

Dịch vụ chăm sóc hỗ trợ khách hàng 24/7

Người dùng có thể truy cập vào nền tảng trực tuyến dựa trên web của chúng tôi và sử dụng nhiều nodes để kết xuất cùng một lúc. Do đó, với chúng tôi, không quan trọng bạn hiện diện ở đâu – miễn là bạn có kết nối với Internet, bạn có thể truy cập và tận hưởng các dịch vụ kết xuất 24/7 mà chúng tôi cung cấp và nếu bạn gặp bất kỳ vấn đề nào, đội ngũ support của chúng tôi luôn hiện diện 24/7 để hỗ trợ bạn..

 

Với những lợi thế như trên cùng với việc không hề có chi phí ẩn khi sử dụng máy, chúng tôi tin rằng đây là một dịch vụ đáng để bạn thử. Đăng ký tài khoản ngay hôm nay để trải nghiệm dịch vụ của chúng tôi. Hoặc liên hệ với chúng tôi qua Zalo: 0916806116 để được tư vấn và hỗ trợ.

 

Cảm ơn bạn & Happy Training!

Nguồn: builtin.com
, , , , , , , , , , , , ,

Yen Lily

Hi everyone. Being a Customer Support from iRender, I always hope to share and learn new things with 3D artists, data scientists from all over the world.
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Maxwell
Nvidia Iray
Lumion
KeyShot
UE4
Twinmotion
Redshift
Octane
And many more…

iRENDER TEAM

MONDAY – SUNDAY
9:00 AM – 8:00 PM
Hotline: 0916 806 116
Zalo: 0916 806 116
Skype: iRender Support
Email: [email protected]
CÔNG TY CỔ PHẦN CÔNG NGHỆ IRENDER VIỆT NAM
MST: 0108787752
Office: 5/82 Dịch Vọng Hậu, Cầu Giấy, Hà Nội.

Contact
0916806116