Python được cho là một trong những ngôn ngữ lập trình đầu tiên tốt nhất được sử dụng rộng rãi để phát triển ứng dụng web. Đây vẫn là một trong những dự án nguồn mở lớn nhất và được tổ chức tốt và nó chạy khắp mọi nơi, từ điện thoại di động đến siêu máy tính và được hỗ trợ bởi các trình cài đặt chất lượng chuyên nghiệp cho Windows, Linux và macOS. Đây có lẽ là ngôn ngữ lập trình dễ học nhất được sử dụng rộng rãi và là ngôn ngữ rất biểu cảm, điều đó có nghĩa là bạn thường có thể viết ít dòng mã Python hơn so với yêu cầu cho một ứng dụng tương đương được viết bằng C ++ hoặc Java. Một trong những thế mạnh tuyệt vời của nó là đi kèm với một thư viện rất chuẩn - điều này cho phép chúng ta làm được nhiều việc chỉ với một hoặc một vài dòng mã. Trên cùng, hàng ngàn thư viện của bên thứ ba cũng có sẵn, cung cấp các tính năng mạnh mẽ và tinh vi hơn so với thư viện tiêu chuẩn.
Python ban đầu được phát triển vào cuối những năm 1980 bởi Guido Van Rossum nhưng việc triển khai nó được bắt đầu vào năm 1989 và phiên bản chính thức đầu tiên Python 0.9.0 được phát hành vào năm 1991. Năm 1994, Python 1.0 được phát hành với các tính năng mới bao gồm bản đồ, lambda, bộ lọc và giảm, điều này phù hợp với nó rất nhiều liên quan đến lập trình chức năng. Sau đó, Python 2.0 mạnh mẽ và tinh vi đã được phát hành, nó đã được đại tu hoàn toàn từ các phiên bản trước và thêm các tính năng mới như hệ thống thu gom rác, hiểu danh sách và phần hay nhất, nó hỗ trợ Unicode. Các tính năng và chức năng bổ sung đã được bổ sung thêm trong phiên bản 2.7 và không đủ để ngăn nó chuyển sang phiên bản 3.0 trong năm 2008.
Python 3.0 là phiên bản ổn định và phức tạp nhất và là một tiến bộ khá tiến hóa trên Python 2. Mặc dù, Python 3 tốt hơn nhiều so với Python 2 theo nhiều cách, một số thực tiễn cũ không còn phù hợp hoặc cần thiết trong Python 3 và các thực tiễn mới đã được giới thiệu để tận dụng các chức năng của Python 3. Hiện tại nó đang ở phiên bản 3.6 và là ngôn ngữ phức tạp hơn Python 2.7 - nó được xây dựng dựa trên nhiều năm kinh nghiệm với Python 2 và đơn giản hóa một số cú pháp khó sử dụng trong Python 2 bằng cách thêm nhiều tính năng mới để làm cho nó trở nên thú vị hơn khi sử dụng so với Python 2, cũng như dễ dàng và nhất quán hơn. Python 3 là tương lai của ngôn ngữ lập trình vì Python 2 sẽ sớm bị loại bỏ.
- Mặc dù Python 2.7 và Python 3.6 chia sẻ một số khả năng tương tự, nhưng chúng không nên được xem là hoàn toàn có thể hoán đổi cho nhau. Một trong những điểm khác biệt đáng chú ý giữa hai điều đó là câu lệnh in ấn của NX được xử lý rất khác nhau trong Python 2.6; đó là một câu lệnh đặc biệt trong Python 2.6 chứ không phải là một hàm không yêu cầu các đối số bên trong một cặp dấu ngoặc đơn bổ sung để thực thi. Tuy nhiên, print () là một hàm dựng sẵn trong Python 3.6, yêu cầu các đối số được đặt bên trong dấu ngoặc đơn để thực thi. Ví dụ: để in ra Xin chào Sir! trong Python 2.7, bạn có thể làm như vậy với - in ấn Hello Hello!, trong khi ở Python 3.6, cú pháp là - print (Lời chào Sir Sir!.
- Python 3 được thiết kế để sửa các lỗi trong Python 2, một trong số đó là Integer Division. Trong Python 2.7, kiểu trả về số nguyên sẽ luôn luôn là int int vì nó xem các chữ số sau dấu thập phân là số nguyên và trả về số nguyên gần nhất. Ví dụ: 5/4 trả về 1 thay vì 1,25 và 6/2 trả về 3. Tuy nhiên, Python 3.6 trả về số float float ngay cả khi các giá trị là số nguyên, làm cho việc phân chia số nguyên trực quan hơn. Ví dụ: 5/4 sẽ trả lại 1.25 thay vì 1 và 4/2 sẽ trả về 2.0.
- Python 2.7 có hai loại chuỗi: chuỗi Unicode và chuỗi không Unicode. Nó có hai hàm toàn cục để ép các đối tượng thành các chuỗi: unicode () để ép chúng thành các chuỗi Unicode và str () để ép chúng thành các chuỗi không Unicode. Tuy nhiên, tất cả các chuỗi là chuỗi Unicode trong Python 3.6 có nghĩa là nó chỉ có một loại chuỗi, chuỗi Unicode, vì vậy str () là tất cả những gì bạn cần. Các chuỗi ký tự Unicode được chuyển đổi đơn giản thành các chuỗi ký tự chuỗi, luôn luôn là Unicode trong Python 3.6. Điều này giúp tiết kiệm thời gian phát triển thêm cho các lập trình viên
- Trong Python 2.7, có hai hàm dựng sẵn tạo ra một chuỗi số và chúng bao gồm phạm vi () và xrange (). Trong Python 2.7, hàm xrange () được sử dụng để tạo các đối tượng lặp lại. Tuy nhiên, hàm xrange () được thay thế bằng hàm phạm vi () trong Python 3.6, do đó không cần sử dụng xrange () riêng nữa. Hàm phạm vi () tinh vi và mạnh mẽ hơn nhiều so với hàm xrange (), mặc dù cả hai hàm đều được thực hiện theo cách tương tự.
Mặc dù, Python 3.6 là một tiến bộ tiến hóa trên Python 2.7, một số thực tiễn cũ không còn phù hợp hoặc cần thiết trong Python 3 và các thực tiễn mới đã được giới thiệu để tận dụng các chức năng của Python 3. Python 3 là tương lai của ngôn ngữ lập trình kể từ đó Python 2 sẽ sớm được nghỉ hưu. Python 3 được thiết kế để khắc phục các lỗ hổng trong Python 2 như phân chia số nguyên, kiểu dữ liệu và hơn thế nữa. Điều đó đang được nói, Python 3.6 mạnh mẽ và tinh vi hơn nhiều so với Python 2.7 vì nó bổ sung rất nhiều tính năng mới để làm cho nó thuận tiện hơn khi sử dụng so với Python 2.7.