Hướng dẫn when did python first appear - trăn xuất hiện lần đầu tiên khi nào

Python

Mô hìnhDesigned byNhà phát triểnFirst appearedPhiên bản ổn địnhBản phát hành xem trướcGõ kỷ luậtHệ điều hànhGiấy phépPhần mở rộng tên tệpTrang mạngTriển khai chínhPhương ngữChịu ảnh hưởng bởiẢnh hưởng
Đa Paradigm: hướng đối tượng, [1] thủ tục [bắt buộc], chức năng, có cấu trúc, phản xạ
Guido Van Rossum
Quỹ phần mềm Python
20 & nbsp; tháng 2 năm 1991; 31 năm trước [2]; 31 years ago[2]

3.11.0 [3] & nbsp; / 24 tháng 10 năm 2022; 31 ngày trước

/ 24 October 2022; 31 days ago

3.12.0A2 [4] & nbsp; / 15 tháng 11 năm 2022; 9 ngày trước

/ 15 November 2022; 9 days ago

Vịt, động, gõ mạnh; [5] dần dần [kể từ 3,5, nhưng bị bỏ qua trong cpython] [6]
Windows, MacOS, Linux/Unix, Android [7] [8] và hơn thế nữa [9]
Giấy phép nền tảng phần mềm Python
.py, .pyi, .pyc, .pyd, .pyw, .pyz [kể từ 3.5], [10] .pyo [trước 3.5] [11]
python.org
Cpython, Pypy, Python không chồng, Micropython, Circuitpython, Ironpython, Jython
Cython, Rpython, Starlark [12]
ABC, [13] ADA, [14] Algol 68, [15] Apl, [16] C, [17] C ++, [18] Clu, [19] Dylan, [20] Haskell, [21] [16] , [22] Lisp, [23] Modula-3, [15] [18] Perl, [24] ML tiêu chuẩn [16]Modula-3,[15][18] Perl,[24] Standard ML[16]
Apache Groovy, Boo, Cobra, Coffeescript, [25] D, F#, Genie, [26] Go, JavaScript, [27] [28] Julia, [29] Nim, Ring, [30] Ruby, [31] Swift [ 32]
  • Lập trình Python tại Wikibooks

Python là một ngôn ngữ lập trình cấp cao, cấp cao. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã với việc sử dụng thụt lề đáng kể. [33] is a high-level, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation.[33]

Python được gõ một cách linh hoạt và thu thập rác. Nó hỗ trợ nhiều mô hình lập trình, bao gồm có cấu trúc [đặc biệt là thủ tục], lập trình định hướng đối tượng và chức năng. Nó thường được mô tả là ngôn ngữ "bao gồm pin" do thư viện tiêu chuẩn toàn diện của nó. [34] [35]

Guido Van Rossum bắt đầu làm việc trên Python vào cuối những năm 1980 với tư cách là người kế vị ngôn ngữ lập trình ABC và lần đầu tiên phát hành nó vào năm 1991 với tên Python & NBSP; 0.9.0. [36] Python & NBSP; 2.0 đã được phát hành vào năm 2000 và giới thiệu các tính năng mới như toàn bộ danh sách, thu thập rác cố định chu kỳ, đếm tham chiếu và hỗ trợ Unicode. Python & NBSP; 3.0, được phát hành năm 2008, là một bản sửa đổi lớn không tương thích hoàn toàn với các phiên bản trước đó. Python & NBSP; 2 đã bị ngừng phiên bản & NBSP; 2.7,18 vào năm 2020. [37]

Python liên tục xếp hạng là một trong những ngôn ngữ lập trình phổ biến nhất. [38] [39] [40] [41]

History[edit][edit]

Python đã được hình thành vào cuối những năm 1980 [42] bởi Guido van Rossum tại Centrum Wiskunde & Informatica [CWI] ở Hà Lan như là người kế thừa ngôn ngữ lập trình ABC, được lấy cảm hứng từ SETL, [43] có khả năng xử lý ngoại lệ [từ Bắt đầu cộng với các khả năng mới trong Python 3.11] và giao tiếp với hệ điều hành Amoeba. [13] Việc thực hiện nó bắt đầu vào tháng 12 & NBSP; 1989. [44] Van Rossum gánh vác trách nhiệm duy nhất cho dự án, với tư cách là nhà phát triển chính, cho đến ngày 12 tháng 7 năm 2018, khi ông tuyên bố "kỳ nghỉ vĩnh viễn" từ trách nhiệm của mình với tư cách là "nhà độc tài nhân từ cho cuộc sống" của Python, một tiêu đề mà cộng đồng Python ban cho anh ta để phản ánh Cam kết lâu dài với tư cách là người ra quyết định chính của dự án. [45] Vào tháng 1 & NBSP; 2019, các nhà phát triển Python Core hoạt động đã bầu một hội đồng chỉ đạo gồm năm thành viên để lãnh đạo dự án. [46] [47]

Python & NBSP; 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. [48] Python & NBSP; 3.0, được phát hành vào ngày 3 tháng 12 năm 2008, với nhiều tính năng chính của nó được đưa vào Python & NBSP; 2.6.x [49] và 2.7.x. Các bản phát hành của Python & NBSP; 3 bao gồm tiện ích 2to3, tự động hóa việc dịch mã Python & NBSP; 2 sang Python & NBSP; 3. [50]

Cuộc sống cuối cùng của Python & NBSP; 2.7 ban đầu được thiết lập vào năm 2015, sau đó bị hoãn lại đến năm 2020 vì lo ngại rằng một cơ quan lớn của mã hiện tại không thể dễ dàng được chuyển tiếp đến Python & NBSP; 3. [51] [52] Không có bản vá bảo mật nào nữa hoặc các cải tiến khác sẽ được phát hành cho nó. [53] [54] Hiện tại chỉ có 3,7 và sau đó được hỗ trợ. Vào năm 2021, Python & NBSP; 3.9.2 và 3.8.8 đã được tiến hành [55] vì tất cả các phiên bản Python [bao gồm 2.7 [56]] có vấn đề bảo mật dẫn đến thực thi mã từ xa có thể [57] và ngộ độc bộ đệm web. [58]

Vào năm 2022, Python & NBSP; 3.10.4 và 3.9.12 đã được tiến hành [59] và 3.8.13 và 3.7.13, vì nhiều vấn đề bảo mật. [60] Khi Python 3.9.13 được phát hành vào tháng 5 năm 2022, có thông báo rằng sê -ri 3.9 [tham gia loạt phim cũ hơn 3.8 và 3.7] sẽ chỉ nhận được các sửa chữa bảo mật trong tương lai. [61] Vào ngày 7 tháng 9 năm 2022, bốn bản phát hành mới đã được thực hiện do một cuộc tấn công từ chối dịch vụ tiềm năng: 3.10.7, 3.9.14, 3.8,14 và 3.7,14. [62] [63]

Kể từ tháng 11 & NBSP; 2022, Python & NBSP; 3.11.0 là bản phát hành ổn định hiện tại và trong số những thay đổi đáng chú ý từ 3.10 là nó nhanh hơn 10% 60% và báo cáo lỗi được cải thiện đáng kể. [64]

Python 3.12 [Alpha 2] đã cải thiện các thông báo lỗi.

Loại bỏ khỏi Python [Chỉnh sửa][edit]

Mô -đun smtpd không dùng đã được xóa khỏi Python 3.12 [alpha]. Và một số chức năng cũ, bị hỏng và không dùng nữa [ví dụ: từ mô -đun unittest], các lớp và phương pháp đã bị xóa. Các thành viên độ dài wstrwstr_ không dùng nữa của việc triển khai các đối tượng Unicode đã bị xóa, [65] để biến UTF-8 là mặc định trong các phiên bản Python sau này.

Trong lịch sử, Python 3 cũng đã thay đổi từ Python 2, ví dụ: Thay đổi nhà điều hành bộ phận.

Triết lý và tính năng thiết kế [Chỉnh sửa][edit]

Python là một ngôn ngữ lập trình đa mô hình. Lập trình hướng đối tượng và lập trình có cấu trúc được hỗ trợ đầy đủ, và nhiều tính năng của chúng hỗ trợ lập trình chức năng và lập trình theo định hướng khía cạnh [bao gồm cả metaprogramming [66] và metaobjects]. [67] Nhiều mô hình khác được hỗ trợ thông qua các tiện ích mở rộng, bao gồm thiết kế theo hợp đồng [68] [69] và lập trình logic. [70]

Python sử dụng gõ động và kết hợp đếm tham chiếu và bộ thu rác phát hiện chu kỳ để quản lý bộ nhớ. [71] Nó sử dụng độ phân giải tên động [ràng buộc muộn], liên kết các tên phương thức và tên biến trong quá trình thực hiện chương trình.

Thiết kế của nó cung cấp một số hỗ trợ cho lập trình chức năng trong truyền thống LISP. Nó có các chức năng ____ 8, ____ 9and____10; Liệt kê toàn diện, từ điển, bộ và biểu thức máy phát. [72] Thư viện tiêu chuẩn có hai mô -đun [

Spanning
multiple
lines
1 và
Spanning
multiple
lines
2] triển khai các công cụ chức năng được mượn từ Haskell và tiêu chuẩn ML. [73]

Triết lý cốt lõi của nó được tóm tắt trong tài liệu The Zen of Python [PEP 20], bao gồm các câu cách ngôn như: [74]

  • Đẹp tốt hơn xấu.
  • Rõ ràng là tốt hơn tiềm ẩn.
  • Đơn giản là tốt hơn phức tạp.
  • Phức tạp là tốt hơn phức tạp.
  • Tính dễ đọc.

Thay vì xây dựng tất cả các chức năng của nó thành cốt lõi của nó, Python được thiết kế để có thể mở rộng cao thông qua các mô -đun. Mô -đun nhỏ gọn này đã làm cho nó đặc biệt phổ biến như một phương tiện để thêm các giao diện lập trình vào các ứng dụng hiện có. Tầm nhìn của Van Rossum về một ngôn ngữ cốt lõi nhỏ với một thư viện tiêu chuẩn lớn và thông dịch viên dễ dàng mở rộng xuất phát từ sự thất vọng của anh ta với ABC, điều này đã tán thành cách tiếp cận ngược lại. [42]

Python phấn đấu cho một cú pháp và ngữ pháp đơn giản hơn, ít lộn xộn hơn trong khi cho các nhà phát triển lựa chọn trong phương pháp mã hóa của họ. Trái ngược với phương châm "có nhiều cách để làm điều đó", Python nắm lấy một "nên có một cách và tốt nhất là chỉ có một cách rõ ràng để làm điều đó". [74] Alex Martelli, một thành viên tại Quỹ phần mềm Python và tác giả sách Python, đã viết: "Để mô tả một cái gì đó là 'thông minh' không được coi là một lời khen trong văn hóa Python." [75]

Các nhà phát triển của Python cố gắng tránh tối ưu hóa sớm và từ chối các bản vá cho các phần không quan trọng của việc thực hiện tham chiếu CPython sẽ cung cấp tốc độ tăng biên với chi phí rõ ràng. [76] Khi tốc độ quan trọng, một lập trình viên Python có thể di chuyển các hàm quan trọng về thời gian sang các mô-đun mở rộng được viết bằng các ngôn ngữ như C; hoặc sử dụng Pypy, một trình biên dịch chỉ trong thời gian. Cython cũng có sẵn, dịch tập lệnh Python thành C và thực hiện các cuộc gọi API cấp C trực tiếp vào trình thông dịch Python.

Các nhà phát triển của Python nhắm đến nó là thú vị để sử dụng. Điều này được phản ánh trong tên của nó là một cống phẩm cho nhóm hài kịch Anh Monty Python [77], trong các cách tiếp cận vui tươi thỉnh thoảng cho các hướng dẫn và tài liệu tham khảo, chẳng hạn như các ví dụ đề cập đến thư rác và trứng [tham chiếu đến bản phác thảo Monty Python] của foo tiêu chuẩn và thanh. [78] [79]

Một chủ nghĩa thần kinh phổ biến trong cộng đồng Python là Pythonic, có nhiều ý nghĩa liên quan đến phong cách chương trình. Mã "Pythonic" có thể sử dụng các thành ngữ Python tốt, tự nhiên hoặc thể hiện sự lưu loát trong ngôn ngữ hoặc phù hợp với triết lý tối giản của Python và nhấn mạnh vào khả năng đọc. Mã khó hiểu hoặc đọc giống như một phiên âm thô từ ngôn ngữ lập trình khác được gọi là Unpythonic. [80] [81]

Người dùng Python và người ngưỡng mộ, đặc biệt là những người được coi là hiểu biết hoặc có kinh nghiệm, thường được gọi là Pythonistas. [82] [83]

Cú pháp và ngữ nghĩa [Chỉnh sửa][edit]

Python có nghĩa là một ngôn ngữ dễ đọc. Định dạng của nó không bị ảnh hưởng trực quan và thường sử dụng các từ khóa tiếng Anh trong đó các ngôn ngữ khác sử dụng dấu câu. Không giống như nhiều ngôn ngữ khác, nó không sử dụng dấu ngoặc xoăn để phân định các khối và dấu chấm phẩy sau khi các câu lệnh được cho phép nhưng hiếm khi được sử dụng. Nó có ít trường hợp ngoại lệ và trường hợp đặc biệt hơn C hoặc Pascal. [84]

Indentation[edit][edit]

Python sử dụng vết lõm khoảng trắng, thay vì dấu ngoặc xoăn hoặc từ khóa, để phân định các khối. Sự gia tăng vết lõm đến sau một số tuyên bố nhất định; Giảm thụt vào biểu thị sự kết thúc của khối hiện tại. [85] Do đó, cấu trúc trực quan của chương trình đại diện chính xác cho cấu trúc ngữ nghĩa của nó. [86] Tính năng này đôi khi được gọi là quy tắc bên ngoài. Một số ngôn ngữ khác sử dụng thụt lề theo cách này; Nhưng trong hầu hết, vết lõm không có ý nghĩa ngữ nghĩa. Kích thước thụt được đề xuất là bốn khoảng trống. [87]

Báo cáo và luồng kiểm soát [Chỉnh sửa][edit]

Các tuyên bố của Python bao gồm:

  • Câu lệnh gán, sử dụng một dấu hiệu bình đẳng
    Spanning
    multiple
    lines
    
    3
  • Tuyên bố
    Spanning
    multiple
    lines
    
    4, thực thi có điều kiện một khối mã, cùng với
    Spanning
    multiple
    lines
    
    5 và
    Spanning
    multiple
    lines
    
    6 [một sự co lại của khác-if]
  • Câu lệnh
    Spanning
    multiple
    lines
    
    7, lặp đi lặp lại trên một đối tượng có thể lặp lại, bắt giữ từng phần tử vào một biến cục bộ để sử dụng bởi khối đính kèm
  • Câu lệnh
    Spanning
    multiple
    lines
    
    8, thực thi một khối mã miễn là điều kiện của nó là đúng
  • Tuyên bố
    Spanning
    multiple
    lines
    
    9, cho phép các ngoại lệ được nêu trong khối mã đính kèm của nó được bắt và xử lý bởi các điều khoản
    n = int[input['Type a number, and its factorial will be printed: ']]
    
    if n 

Bài Viết Liên Quan

Chủ Đề