Ngày phát hành Python 2.6

Ngôn ngữ lập trình Python được hình thành vào cuối những năm 1980,[1] và việc triển khai nó được bắt đầu vào tháng 12 năm 1989 bởi Guido van Rossum tại CWI ở Hà Lan với tư cách là người kế thừa ABC có khả năng xử lý ngoại lệ và giao tiếp với hệ điều hành Amoeba. [3] Van Rossum là tác giả chính của Python và vai trò trung tâm liên tục của ông trong việc quyết định hướng đi của Python được phản ánh trong tiêu đề do cộng đồng Python trao cho ông, Nhà độc tài nhân từ cho cuộc sống [BDFL]. [4][5] [Tuy nhiên, van Rossum đã từ chức lãnh đạo vào ngày 12 tháng 7 năm 2018. [6]]. Python được đặt tên theo chương trình truyền hình BBC Monty Python's Flying Circus. [7]

Trăn 2. 0 được phát hành vào ngày 16 tháng 10 năm 2000, với nhiều tính năng mới quan trọng, bao gồm bộ thu gom rác phát hiện chu kỳ [ngoài việc đếm tham chiếu] để quản lý bộ nhớ và hỗ trợ Unicode. Tuy nhiên, thay đổi quan trọng nhất là đối với chính quá trình phát triển, với sự chuyển đổi sang một quy trình minh bạch hơn và được cộng đồng hỗ trợ. [số 8]

Trăn 3. 0, một bản phát hành chính, không tương thích ngược, được phát hành vào ngày 3 tháng 12 năm 2008[9] sau một thời gian dài thử nghiệm. Nhiều tính năng chính của nó cũng đã được đưa vào Python 2 tương thích ngược, mặc dù hiện không được hỗ trợ. 6 và 2. 7. [10]

Lịch sử ban đầu [ chỉnh sửa ]

Vào tháng 2 năm 1991, Van Rossum đã công bố mã [có nhãn là phiên bản 0. 9. 0] để thay thế. nguồn. [11][12] Đã có mặt ở giai đoạn phát triển này là các lớp có tính kế thừa, xử lý ngoại lệ, chức năng và các kiểu dữ liệu cốt lõi của list, dict, str, v.v. Cũng trong bản phát hành đầu tiên này là một hệ thống mô-đun mượn từ Modula-3; . [1] Mô hình ngoại lệ của Python cũng giống với Modula-3, với việc bổ sung mệnh đề else. [3] Năm 1994 biên soạn. lang thang. python, diễn đàn thảo luận chính về Python, được thành lập, đánh dấu một cột mốc quan trọng trong sự phát triển cơ sở người dùng của Python. [1]

Phiên bản 1[sửa]

Python đạt phiên bản 1. 0 vào tháng 1 năm 1994. Các tính năng mới chính có trong phiên bản này là các công cụ lập trình chức năng lambda, map, filterreduce. Van Rossum tuyên bố rằng "Python đã mua lambda, reduce[], filter[] và map[], nhờ một hacker Lisp đã bỏ lỡ chúng và gửi các bản vá đang hoạt động". [13]

Phiên bản cuối cùng được phát hành khi Van Rossum ở CWI là Python 1. 2. Năm 1995, Van Rossum tiếp tục công việc của mình về Python tại Tổng công ty Sáng kiến ​​Nghiên cứu Quốc gia [CNRI] ở Reston, Virginia, nơi ông đã phát hành một số phiên bản.

Theo phiên bản 1. 4, Python đã có được một số tính năng mới. Đáng chú ý trong số này là các đối số từ khóa lấy cảm hứng từ Modula-3 [cũng tương tự như các đối số từ khóa của Common Lisp] và hỗ trợ tích hợp sẵn cho các số phức. Ngoài ra còn có một hình thức ẩn dữ liệu cơ bản bằng cách xáo trộn tên, mặc dù điều này có thể dễ dàng bỏ qua. [14]

Trong thời gian Van Rossum làm việc tại CNRI, ông đã đưa ra sáng kiến ​​Lập trình Máy tính cho Mọi người [CP4E], với mục đích làm cho nhiều người dễ tiếp cận hơn với lập trình, với "sự hiểu biết" cơ bản về các ngôn ngữ lập trình, tương tự như các kỹ năng toán học và đọc viết tiếng Anh cơ bản được yêu cầu bởi . Python đóng vai trò trung tâm trong việc này. do tập trung vào cú pháp rõ ràng, nó đã phù hợp và các mục tiêu của CP4E có những điểm tương đồng với người tiền nhiệm của nó, ABC. Dự án được tài trợ bởi DARPA. [15] Kể từ năm 2007, dự án CP4E không hoạt động và trong khi Python cố gắng trở nên dễ học và không quá phức tạp trong cú pháp và ngữ nghĩa của nó, việc tiếp cận những người không phải là lập trình viên không phải là mối quan tâm tích cực. [16]

Năm 2000, nhóm phát triển lõi Python chuyển sang BeOpen. com[17] để thành lập nhóm BeOpen PythonLabs, dưới sự chỉ đạo của Domenic Merenda, cựu sinh viên đầu tiên của Google. [18][19] CNRI đã yêu cầu phiên bản 1. 6 được phát hành, tóm tắt quá trình phát triển của Python cho đến thời điểm nhóm phát triển rời CNRI. Do đó, lịch trình phát hành cho 1. 6 và 2. 0 có số lượng chồng chéo đáng kể. [8] Trăn 2. 0 là bản phát hành duy nhất từ ​​​​BeOpen. com. Sau Python 2. 0 được phát hành bởi BeOpen. com, Guido van Rossum và các nhà phát triển PythonLabs khác đã tham gia Digital Creations

con trăn 1. Bản phát hành 6 bao gồm giấy phép CNRI mới dài hơn đáng kể so với giấy phép CWI đã được sử dụng cho các bản phát hành trước đó. Giấy phép mới bao gồm một điều khoản nói rằng giấy phép được điều chỉnh bởi luật pháp của Bang Virginia. Tổ chức Phần mềm Tự do lập luận rằng điều khoản lựa chọn luật không tương thích với Giấy phép Công cộng GNU. BeOpen, CNRI và FSF đã đàm phán thay đổi giấy phép phần mềm tự do của Python để làm cho nó tương thích với GPL. Trăn 1. 6. 1 về cơ bản giống như Python 1. 6, với một vài bản sửa lỗi nhỏ và với giấy phép tương thích với GPL mới. [20]

Phiên bản 2[sửa]

Trăn 2. 0, phát hành tháng 10 năm 2000,[8] giới thiệu tính năng hiểu danh sách, một tính năng vay mượn từ các ngôn ngữ lập trình chức năng SETL và Haskell. Cú pháp của Python cho cấu trúc này rất giống với cú pháp của Haskell, ngoại trừ sở thích của Haskell đối với các ký tự chấm câu và sở thích của Python đối với các từ khóa chữ cái. Trăn 2. 0 cũng đã giới thiệu một trình thu gom rác có khả năng thu thập các chu kỳ tham chiếu. [số 8]

Trăn 2. 1 đã gần với Python 1. 6. 1, cũng như Python 2. 0. Giấy phép của nó đã được đổi tên thành Python Software Foundation License. Đã thêm tất cả mã, tài liệu và thông số kỹ thuật từ thời Python 2. Bản phát hành alpha của 1 vào ngày, được sở hữu bởi Python Software Foundation [PSF], một tổ chức phi lợi nhuận được thành lập vào năm 2001, được mô phỏng theo Apache Software Foundation. [20] Bản phát hành bao gồm một thay đổi đối với đặc tả ngôn ngữ để hỗ trợ các phạm vi lồng nhau, giống như các ngôn ngữ phạm vi tĩnh khác. [21] [Tính năng này bị tắt theo mặc định và không bắt buộc, cho đến Python 2. 2. ]

Trăn 2. 2 được phát hành vào tháng 12 năm 2001;[22] một sự đổi mới lớn là sự hợp nhất các kiểu của Python [các kiểu được viết bằng C] và các lớp [các kiểu được viết bằng Python] thành một hệ thống phân cấp. Sự thống nhất duy nhất này đã làm cho mô hình đối tượng của Python hướng đối tượng thuần túy và nhất quán. [23] Cũng được thêm vào là các máy phát điện được lấy cảm hứng từ Biểu tượng. [24]

Logo Python lịch sử được sử dụng trên Windows [trái] và Macintosh [giữa] và logo được sử dụng từ phiên bản 2. 5 [phải]

Trăn 2. 5 được phát hành vào tháng 9 năm 2006 [25] và giới thiệu câu lệnh with, bao gồm một khối mã trong trình quản lý ngữ cảnh [ví dụ: lấy khóa trước khi khối mã được chạy và giải phóng khóa sau đó hoặc mở tệp và sau đó . [26]

Trăn 2. 6 được phát hành trùng với Python 3. 0 và bao gồm một số tính năng từ bản phát hành đó, cũng như chế độ "cảnh báo" làm nổi bật việc sử dụng các tính năng đã bị xóa trong Python 3. 0. [27][10] Tương tự, Python 2. 7 trùng hợp và bao gồm các tính năng từ Python 3. 1,[28] được phát hành vào ngày 26 tháng 6 năm 2009. song song 2. x và 3. x sau đó đã ngừng phát hành và Python 2. 7 là bản phát hành cuối cùng trong 2. sê-ri x. [29] Vào tháng 11 năm 2014, có thông báo rằng Python 2. 7 sẽ được hỗ trợ cho đến năm 2020, nhưng người dùng được khuyến khích chuyển sang Python 3 càng sớm càng tốt. [30] Trăn 2. 7 đã kết thúc hỗ trợ vào ngày 1 tháng 1 năm 2020, cùng với việc đóng băng mã của 2. 7 nhánh phát triển. Bản phát hành cuối cùng, 2. 7. 18, xảy ra vào ngày 20 tháng 4 năm 2020 và bao gồm các bản sửa lỗi cho các lỗi nghiêm trọng và trình chặn phát hành. [31] Điều này đánh dấu sự kết thúc của Python 2. [32]

Phiên bản 3[sửa]

Trăn 3. 0 [còn được gọi là "Python 3000" hoặc "Py3K"] được phát hành vào ngày 3 tháng 12 năm 2008. [9] Nó được thiết kế để khắc phục các lỗi thiết kế cơ bản trong ngôn ngữ – không thể triển khai các thay đổi cần thiết trong khi vẫn duy trì khả năng tương thích ngược hoàn toàn với phiên bản 2. x, cần có số phiên bản chính mới. Nguyên tắc chỉ đạo của Python 3 là. "giảm trùng lặp tính năng bằng cách loại bỏ các cách làm việc cũ". [33]

Trăn 3. 0 được phát triển với triết lý giống như trong các phiên bản trước. Tuy nhiên, vì Python đã tích lũy được những cách mới và dư thừa để lập trình cùng một tác vụ, nên Python 3. 0 đã nhấn mạnh vào việc loại bỏ các cấu trúc và mô-đun trùng lặp, phù hợp với Zen of Python. "Nên có một—và tốt nhất là chỉ có một—cách rõ ràng để làm điều đó"

Tuy nhiên, Python 3. 0 vẫn là một ngôn ngữ đa mô hình. Các lập trình viên vẫn có thể tuân theo các mô hình lập trình hướng đối tượng, có cấu trúc và chức năng, trong số các mô hình khác, nhưng trong các lựa chọn rộng rãi như vậy, các chi tiết được dự định rõ ràng hơn trong Python 3. 0 so với trong Python 2. x

Khả năng tương thích[sửa]

Trăn 3. 0 đã phá vỡ khả năng tương thích ngược và nhiều mã Python 2 không chạy nguyên vẹn trên Python 3. [34] Ví dụ, kiểu gõ động của Python kết hợp với các kế hoạch thay đổi ngữ nghĩa của một số phương pháp nhất định của từ điển, đã tạo ra bản dịch cơ học hoàn hảo từ Python 2. x sang Python 3. 0 rất khó. Một công cụ gọi là "2to3" thực hiện các phần dịch thuật có thể được thực hiện tự động. Tại thời điểm này, 2to3 dường như khá thành công, mặc dù một đánh giá ban đầu lưu ý rằng có những khía cạnh của bản dịch mà một công cụ như vậy sẽ không bao giờ có thể xử lý được. [35] Trước khi triển khai Python 3, các dự án yêu cầu khả năng tương thích với cả 2. x và 3. x được khuyến nghị có một nguồn [đối với 2. x] và sản xuất các bản phát hành cho Python 3. nền tảng x sử dụng 2to3. Chỉnh sửa Python 3. x không được khuyến khích miễn là mã cần chạy trên Python 2. x. [10] Điều này không còn được khuyến khích nữa; . [36]

Đặc điểm[sửa]

Một số thay đổi chính dành cho Python 3. 0 là

  • Thay đổi print để nó là một chức năng tích hợp sẵn, không phải là một câu lệnh. Điều này làm cho việc thay đổi một mô-đun để sử dụng một chức năng in khác dễ dàng hơn, cũng như làm cho cú pháp trở nên đều đặn hơn. Trong Python 2. 6 và 2. 7 dict0 có sẵn dưới dạng nội trang nhưng bị che bởi cú pháp câu lệnh in, cú pháp này có thể bị vô hiệu hóa bằng cách nhập dict1 ở đầu tệp[37]
  • Loại bỏ hàm dict2 trong Python 2 và đổi tên hàm dict3 thành dict2. Hàm dict2 của Python 3 hoạt động giống như hàm dict3 của Python 2, trong đó đầu vào luôn được trả về dưới dạng một chuỗi thay vì được đánh giá dưới dạng một biểu thức
  • Di chuyển dict7 [nhưng không phải dict8 hoặc dict9] ra khỏi không gian tên tích hợp và vào str0 [lý do căn bản là mã sử dụng dict7 khó đọc hơn mã sử dụng vòng lặp for và biến bộ tích lũy][38][39]
  • Thêm hỗ trợ cho các chú thích chức năng tùy chọn có thể được sử dụng cho các khai báo kiểu không chính thức hoặc các mục đích khác[40]
  • Thống nhất các loại str/str3, đại diện cho văn bản và giới thiệu một loại str4 bất biến riêng biệt;
  • Xóa các tính năng tương thích ngược, bao gồm các lớp kiểu cũ, ngoại lệ chuỗi và nhập tương đối ngầm định
  • Một sự thay đổi trong chức năng phân chia số nguyên. trong Python 2, phép chia số nguyên luôn trả về một số nguyên. Ví dụ: str6 là str7; . [Trong cả Python 2 – 2. 2 trở đi – và Python 3, tồn tại một toán tử riêng để cung cấp hành vi cũ. else0 là str7]

Các bản phát hành tiếp theo trong Python 3. x đã bao gồm các tính năng mới bổ sung, quan trọng; . sê-ri x

Khi nào Python 2. 6 không dùng nữa?

Tuổi thọ phát hành . 0 không còn được duy trì cho bất kỳ mục đích nào. Trăn 2. 6. 9 là bản phát hành bảo trì chỉ nguồn duy nhất bảo mật cuối cùng của Python 2. 6 loạt. Với việc phát hành vào ngày 29 tháng 10 năm 2013 , tất cả hỗ trợ chính thức dành cho Python 2. 6 đã kết thúc.

Phiên bản nào của Python là năm 2022?

Trăn 3. 10. 2 , tài liệu được phát hành vào ngày 14 tháng 1 năm 2022.

Khi nào Python 2. 7 phát hành?

Trăn 2. 7. 0 được phát hành vào ngày 3 tháng 7 năm 2010 . Trăn 2. 7 được lên kế hoạch là phiên bản chính cuối cùng trong 2. x trước khi chuyển sang giai đoạn bảo trì kéo dài.

Khi nào Python 2. 5 phát hành?

Trăn 2. 5 được phát hành vào 19 tháng 9 năm 2006 .

Chủ Đề