logo

Đang load dữ liệu

logo devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER

Đào tạo - Phần mềm - Cho thuê nhân sự

  • 0969.609.003
  • 0978.611.889
  • Trang chủ
  • Các khoá đào tạo
    • Chuyên đề WEB - PHP

      • Lập trình web với HTML5 - CSS3- JQuery - Bootstrap - Ajax - [36 giờ]
      • Lập trình web frontend - reactjs - [75 giờ]
      • Lập trình web với mã nguồn mở PHP&MYSQL - PHP FRAMEWORK [126 giờ]

      Chuyên đề Mobile

      • Lập trình Games/Apps trên nền tảng Android - [120 giờ]
      • Lập trình Games/Apps trên nền tảng IOS - [120 giờ]

      Chuyên đề JAVA

      • Ngôn ngữ lập trình hướng đối tượng với java - [40 giờ]
      • Lập trình ứng dụng với java - [100 giờ]
      • Lập trình web site với java framework (JPA, HIBERNATE, SPRING MVC, SPRINGBOOT) - [276 giờ]

      Chuyên đề NETWORK/SECURITY

      • Khoá học Quản trị hạ tầng mạng CCNA v6 - [72 giờ]
      • Khoá học quản trị hệ thống với Windows SERVER 2012- [72 giờ]
      • Chuyên gia bảo mật hệ thống CompTIA + - [110 giờ]

      Chuyên đề .NET

      • Nền tảng lập trình hướng đối tượng với C# - [40 giờ]
      • Lập trình ứng dụng WINDOWS FORM - [100 giờ]
      • Lập trình Web với ASP.NET MVC 5, WebAPI - [145 giờ]

      Chuyên đề khác

      • Ngôn ngũ lập trình C/C++ - [80 giờ]
  • Lập trình cho trẻ em
  • Dịch vụ
    • Đào tạo theo như cầu
    • Cung cấp thiết bị - Phần mềm
    • Tư vấn - Thiết kế mạng hạ tầng
    • Tư vấn - Triển khai dịch vụ mạng
    • Tư vấn - Tư vấn, triển khai giám sát hệ thống
    • Thực tập dự án
  • Lịch khai giảng
  • Tin tức
    • Tin tức và sự kiện
    • Tin hoạt động
    • Tin công nghệ
    • Hội thảo, workshop, Codecam
    • Thông tin việc làm
    • Cẩm nang chia sẻ kiến thức
  • Tiện ích
  • Liên hệ

Tin công nghệ

Nov - 2020

09

Những thay đổi trong Python 3.9 mới nhất

Tin công nghệ

 

Python 3.9, được phát hành ngày 5/10, mang đến những thay đổi đáng kể đối với cả các tính năng của ngôn ngữ và cách ngôn ngữ được phát triển. Python đã trở nên phổ biến trong vài năm qua và việc sử dụng ngôn ngữ này đã thực sự bùng nổ trong các lĩnh vực có tốc độ phát triển nhanh chóng, như Data Science (khoa học dữ liệu) và Machine Learning. Dự án đang được tích cực phát triển để bắt kịp với tất cả mọi nhu cầu mới.

Dưới đây là bản tóm tắt về tất cả các tính năng mới trong Python 3.9.

Python chuyển sang chu kỳ phát hành hàng năm

Cho đến thời điểm này, Python được phát triển và phát hành theo chu kỳ 18 tháng. PEP 602 đã đề xuất rằng nhóm phát triển Python nên áp dụng chu kỳ phát hành hàng năm và đề xuất đó đã được chấp nhận.

Chu kỳ phát hành hàng năm có nghĩa là ít tính năng hơn cho mỗi bản phát hành, nhưng cũng có nghĩa là việc kiểm tra tính năng sẽ được phản hồi nhanh hơn, ít thay đổi có khả năng phá vỡ hơn cho mỗi bản phát hành, do đó, có nhiều động lực hơn cho người dùng và các trình quản lý bản phân phối Linux nâng cấp Python thường xuyên hơn. Điều đó cũng có nghĩa là các tính năng mới được đề xuất muộn trong chu kỳ phát triển sẽ không mất nhiều thời gian để đưa vào bản phát hành mới.

Timeline mới có nghĩa là Python 3.9 sẽ xuất xưởng vào tháng 10 năm 2020. Python 3.10, chính thức bắt đầu phát triển pre-alpha vào ngày 19 tháng 5 năm 2020, sẽ bước vào giai đoạn phát triển alpha khi Python 3.9 xuất xưởng và ra mắt vào tháng 10 năm 2021. Các bản phát hành Python trong tương lai sẽ tuân theo cùng một mô hình.

 

Python chuyển sang chu kỳ phát hành hàng năm

Python trở nên nhanh hơn theo mặc định

Mọi bản sửa đổi của Python đều được cải thiện hiệu suất so với phiên bản trước. Python 3.9 có hai cải tiến lớn giúp tăng hiệu suất mà không yêu cầu bất kỳ thay đổi nào đối với code hiện có.

Cải tiến đầu tiên liên quan đến việc sử dụng nhiều hơn giao thức vectorcall được giới thiệu trong Python 3.8. vectorcall làm cho nhiều quá trình gọi hàm phổ biến nhanh hơn bằng cách giảm thiểu hoặc loại bỏ các đối tượng tạm thời được tạo cho việc gọi. Trong Python 3.9, một số tích hợp sẵn của Python - range, tuple, set, frozenset, list, dict - sử dụng vectorcall nội bộ để tăng tốc độ thực thi.

Công cụ nâng cao hiệu suất lớn thứ hai là trình phân tích mã nguồn Python hiệu quả hơn. Trình phân tích cú pháp mới cho CPython runtime không được thiết kế để giải quyết các vấn đề về hiệu suất mà là để xử lý những mâu thuẫn nội bộ trong trình phân tích cú pháp ban đầu. Tuy nhiên, một lợi ích quan trọng khác là phân tích cú pháp nhanh hơn, đặc biệt là đối với khối lượng lớn code.

Các tính năng mới cho từ điển và chuỗi Python 

Python giúp dễ dàng thao tác với các kiểu dữ liệu phổ biến và Python 3.9 mở rộng sự dễ dàng này với những tính năng mới cho chuỗi và từ điển. Đối với chuỗi, có nhiều phương pháp mới để loại bỏ tiền tố và hậu tố, những hoạt động từ lâu đòi hỏi nhiều thao tác thủ công để thực hiện. Đối với từ điển, hiện nay có các toán tử liên hợp, một để hợp nhất hai từ điển thành một từ điển mới và một để cập nhật nội dung của từ điển này với từ điển khác.

 

Python 3.9 mang đến những tính năng mới cho chuỗi và từ điển

Decorator nới lỏng một số hạn chế

Trước đây, Decorator chỉ có thể bao gồm ký hiệu @, tên (ví dụ: func) hoặc tên có dấu chấm (func.method) và (tùy chọn) một lệnh gọi duy nhất (func.method (arg1, arg2)). Với Python 3.9, Decorator hiện có thể bao gồm bất kỳ biểu thức hợp lệ nào.

Một cách lâu đời để khắc phục hạn chế này là tạo một hàm hoặc biểu thức lambda, sẽ thay thế cho biểu thức phức tạp hơn khi được sử dụng làm Decorator. Bây giờ bất kỳ biểu thức nào cũng sẽ thực hiện được, miễn là nó mang lại thứ gì đó có thể hoạt động như một Decorator.

Các hoạt động nhập mới trong Python

Trong một vài phiên bản gần đây, Python đã mở rộng hỗ trợ cho type hinting. Điều này chủ yếu là vì lợi ích của linter (công cụ dùng để phân tích source và phát hiện những lỗi sai khi viết code) và trình kiểm tra code. Nhưng type hinting là một công cụ mạnh mẽ để đảm bảo tính nhất quán trong các cơ sở code lớn, vì vậy code Python vẫn có thể được hưởng lợi từ việc có các type hint.

Hai tính năng mới cho type hinting và type annotation đã được đưa vào Python 3.9. Hãy nhập gợi ý cho nội dung của bộ sưu tập - ví dụ: danh sách và từ điển - hiện có sẵn nguyên bản trong Python. Điều này có nghĩa là bạn có thể mô tả ví dụ một danh sách dưới dạng list[int] - danh sách các số nguyên - mà không cần thư viện typing để thực hiện.

Bổ sung thứ hai cho các cơ chế nhập của Python là hàm linh hoạt và các chú thích biến. Điều này cho phép sử dụng kiểu Annotated để mô tả một loại sử dụng siêu dữ liệu, có thể được kiểm tra trước thời hạn (với các công cụ linting) hoặc trong thời gian chạy. Ví dụ: Annotated[int, ctype("char")] có thể được sử dụng để mô tả một số nguyên, được coi là kiểu char trong C. Theo mặc định, Python sẽ không làm gì với chú thích như vậy, nhưng nó có thể được sử dụng bởi các code linter.

Những cải tiến trong nội bộ Python

Dọn dẹp, tinh chỉnh và hiện đại hóa nội bộ Python là một quá trình sáng tạo ​​liên tục dành cho các nhà phát triển và Python 3.9 đã có một số thay đổi theo hướng đó.

Đầu tiên là thiết kế lại cách các mô-đun. Các mô-đun mở rộng Python, được viết bằng C, giờ đây có thể sử dụng một cơ chế load mới khiến chúng hoạt động giống như những mô-đun Python thông thường khi được nhập.

Một số mô-đun trong thư viện chuẩn của Python mới hỗ trợ hành vi này: _abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref. Cơ chế load mới không chỉ cho phép các mô-đun mở rộng được Python xử lý linh hoạt hơn mà còn cho phép nhiều khả năng mới.

Sáng kiến ​​dọn dẹp thứ hai là ABI nội bộ ổn định cho CPython, một ABI được đảm bảo tồn tại trong suốt thời gian tồn tại của Python 3. Về mặt lịch sử, mỗi bản sửa đổi lớn của Python đều không tương thích ABI với các phiên bản trước, yêu cầu những mô-đun mở rộng phải được biên dịch lại cho mọi phiên bản mới. Từ bây giờ, bất kỳ mô-đun mở rộng nào sử dụng ABI ổn định sẽ hoạt động trên các phiên bản Python. Với Python 3.9, các mô-đun sau đây trong thư viện chuẩn sử dụng ABI ổn định: audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib.

Những thay đổi khác trong Python 3.9

Thư viện chuẩn của Python hiện hỗ trợ IANA Time Zone Database (Cơ sở dữ liệu múi giờ IANA). Cơ sở dữ liệu này được duy trì tốt và sử dụng rộng rãi. Có một cách trực tiếp để sử dụng nó trong thư viện datetime của Python sẽ giúp tiết kiệm nhiều thời gian.

Những phương thức chuỗi mới cho phép dễ dàng loại bỏ các tiền tố và hậu tố. Đây là một trong những tình huống sử dụng phổ biến, hàng ngày yêu cầu quá nhiều boilerplate so với mức cần thiết. Các phương thức .removeprefix() và .removesuffix() mới trả về bản sao đã sửa đổi của một chuỗi, bỏ đi tiền tố hoặc hậu tố được đề cập, miễn là chúng tồn tại trong chuỗi.

Devmaster Academy via quantrimang

Các bài viết cùng chủ đề

Việt Nam khả năng thiếu 150.000 đến 200.000 nhân sự IT mỗi năm
Việt Nam khả năng thiếu 150.000 đến 200.000 nhân s...
Tổng quan ngành khoa học máy tính
Tổng quan ngành khoa học máy tính
8 xu thế công nghệ đáng chú ý nhất trong năm 2021
8 xu thế công nghệ đáng chú ý nhất trong năm 2021...
Tìm hiểu về API? Tại sao API lại được trọng dụng!
Tìm hiểu về API? Tại sao API lại được trọng dụng!...
Học ngôn ngữ lập trình nào để bắt kịp xu thế công nghệ năm 2021
Học ngôn ngữ lập trình nào để bắt kịp xu thế công ...
Nên làm việc ở công ty Product hay công ty Outsourcing?
Nên làm việc ở công ty Product hay công ty Outsour...

Các khóa đào tạo chuyên đề

Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Lập trình ứng dụng trên nền tảng android Lập trình ứng dụng trên nền tảng android
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack

Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
Lập trình ứng dụng với WINDOWS FORM Lập trình ứng dụng với WINDOWS FORM
Lập trình ứng dụng với JAVA (FORM) Lập trình ứng dụng với JAVA (FORM)
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
Lập trình frontend với reacjs (Full) Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

DEVMASTER ACADEMY

Địa chỉ: Tầng 6 - Tòa nhà VIỆN CÔNG NGHỆ
Số 25, Vũ Ngọc Phan - Láng Hạ - Đống Đa - Hà Nội

Hotline: 0969 609 003 | 0978 611 889

devmaster.contact@gmail.com

hna.tvchung@gmail.com

CÁC KHÓA HỌC CHUYÊN ĐỀ

  • Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
  • Lập trình ứng dụng trên nền tảng android
  • Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
  • Lập trình ứng dụng với WINDOWS FORM
  • Lập trình ứng dụng với JAVA (FORM)
  • Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
  • Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
  • Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER - Học thực tế * Làm thực tế * Cam kết việc làm
Copyright by Ⓒ DEVMASTER 2015