Hướng dẫn when did python first appear - trăn xuất hiện lần đầu tiên khi nào
Python
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 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 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 lines1 và Spanning multiple lines2) 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]
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 ( Spanning multiple lines3) liên kết một tên làm tham chiếu đến một đối tượng riêng biệt, được phân bổ tự động. Các biến sau đó có thể được bật lại bất cứ lúc nào cho bất kỳ đối tượng nào. Trong Python, một tên biến là một người giữ tham chiếu chung mà không có loại dữ liệu cố định; Tuy nhiên, nó luôn luôn đề cập đến một số đối tượng với một loại. Điều này được gọi là gõ động, trái ngược với các ngôn ngữ được gõ tĩnh, trong đó mỗi biến có thể chỉ chứa một giá trị của một loại nhất định. Python không hỗ trợ tối ưu hóa cuộc gọi đuôi hoặc tiếp tục hạng nhất, và, theo Van Rossum, nó sẽ không bao giờ. [90] [91] Tuy nhiên, hỗ trợ tốt hơn cho chức năng giống như coroutine được cung cấp bằng cách mở rộng các trình tạo của Python. [92] Trước 2.5, máy phát điện đã lười biếng; Dữ liệu đã được truyền một cách đơn hướng ra khỏi máy phát điện. Từ Python & NBSP; 2.5 trở đi, có thể chuyển dữ liệu trở lại chức năng máy phát; và từ phiên bản 3.3, nó có thể được chuyển qua nhiều cấp độ ngăn xếp. [93] Expressions[edit][edit]Biểu cảm của Python bao gồm:
Trong Python, một sự khác biệt giữa các biểu thức và tuyên bố được thực thi một cách cứng nhắc, trái ngược với các ngôn ngữ như LISP thông thường, sơ đồ hoặc ruby. Điều này dẫn đến việc sao chép một số chức năng. Ví dụ:
Các câu lệnh không thể là một phần của biểu thức Danh sách và các biểu thức toàn diện hoặc biểu thức Lambda khác, tất cả đều là biểu thức, không thể chứa các câu lệnh. Một trường hợp cụ thể là một câu lệnh gán như Spanning multiple lines3 đối với toán tử bình đẳng smtpd 6 trong các điều kiện: map 1 có giá trị về mặt cú pháp (nhưng có thể ngoài ý muốn), nhưng map 2 gây ra lỗi cú pháp trong Python.Methods[edit][edit]Các phương thức trên các đối tượng là các hàm được gắn vào lớp của đối tượng; Cú pháp Typing[edit][edit]Phân cấp loại tiêu chuẩn trong Python & NBSP; 3 Python sử dụng gõ vịt và đã gõ các đối tượng nhưng không biết tên biến. Các ràng buộc loại không được kiểm tra tại thời điểm biên dịch; Thay vào đó, các hoạt động trên một đối tượng có thể thất bại, biểu thị rằng nó không thuộc loại phù hợp. Mặc dù được gõ linh hoạt, Python được gõ mạnh, các hoạt động cấm không được xác định rõ (ví dụ, thêm một số vào một chuỗi) thay vì âm thầm cố gắng để hiểu được chúng. Python cho phép các lập trình viên xác định các loại của riêng họ bằng các lớp, thường được sử dụng cho lập trình hướng đối tượng. Các trường hợp mới của các lớp được xây dựng bằng cách gọi lớp (ví dụ: Trước phiên bản & nbsp; 3.0, Python có hai loại lớp (cả hai đều sử dụng cùng một cú pháp): kiểu cũ và kiểu mới, [104] phiên bản Python hiện tại chỉ hỗ trợ phong cách mới của ngữ nghĩa. Kế hoạch dài hạn là hỗ trợ gõ dần dần. [105] Cú pháp của Python cho phép chỉ định các loại tĩnh, nhưng chúng không được kiểm tra trong quá trình triển khai mặc định, CPython. Một máy kiểm tra loại tĩnh tùy chọn thử nghiệm, MyPy, hỗ trợ kiểm tra loại thời gian biên dịch. [106] Tóm tắt các loại tích hợp của Python 3
Spanning multiple lines 03[edit]có thể thay đổi Trình tự của byte
Theo thuật ngữ Python, Làm tròn hướng về vô cùng tiêu cực, mặc dù khác với hầu hết các ngôn ngữ, thêm tính nhất quán. Chẳng hạn, điều đó có nghĩa là phương trình Spanning multiple lines71 luôn đúng. Điều đó cũng có nghĩa là phương trình Spanning multiple lines72 có giá trị cho cả giá trị dương và âm của Spanning multiple lines73. Tuy nhiên, việc duy trì tính hợp lệ của phương trình này có nghĩa là trong khi kết quả của Spanning multiple lines74, như mong đợi, trong khoảng thời gian nửa mở [0, b), trong đó Spanning multiple lines75 là một số nguyên dương, nó phải nằm trong khoảng thời gian (b, 0 ] Khi Spanning multiple lines75 âm. [112] Python cung cấp chức năng Spanning multiple lines77 để làm tròn phao vào số nguyên gần nhất. Để phá vỡ, Python & NBSP; 3 sử dụng vòng để thậm chí: Spanning multiple lines78 và Spanning multiple lines79 cả hai sản xuất ________ 180. [113] Các phiên bản trước 3 được sử dụng tròn từ xa-từ không: Spanning multiple lines81 là Spanning multiple lines82, Spanning multiple lines83 là ________ 184. [114] Python cho phép các biểu thức Boolean với nhiều mối quan hệ bình đẳng theo cách phù hợp với việc sử dụng chung trong toán học. Ví dụ: biểu thức Spanning multiple lines85 kiểm tra xem Spanning multiple lines73 có nhỏ hơn Spanning multiple lines75 và Spanning multiple lines75 nhỏ hơn ________ 189. [115] Các ngôn ngữ có nguồn gốc C diễn giải biểu thức này khác nhau: Trong C, biểu thức trước tiên sẽ đánh giá Spanning multiple lines90, dẫn đến 0 hoặc 1 và kết quả đó sau đó sẽ được so sánh với ________ 189. [116] Python sử dụng số học chính xác tùy ý cho tất cả các hoạt động số nguyên. Loại/lớp Spanning multiple lines92 trong mô-đun Spanning multiple lines93 cung cấp các số điểm nổi thập phân cho độ chính xác tùy ý được xác định trước và một số chế độ làm tròn. [117] Lớp Spanning multiple lines94 trong mô -đun Spanning multiple lines95 cung cấp độ chính xác tùy ý cho các số hợp lý. [118] Do thư viện toán học rộng rãi của Python, và thư viện của bên thứ ba, tiếp tục mở rộng các khả năng bản địa, nó thường được sử dụng như một ngôn ngữ kịch bản khoa học để hỗ trợ các vấn đề như xử lý dữ liệu và thao tác bằng số. [119] [120] Ví dụ lập trình [Chỉnh sửa][edit]Hello World Chương trình: Chương trình để tính toán giai thừa của một số nguyên dương: n = int(input('Type a number, and its factorial will be printed: ')) if n < 0: raise ValueError('You must enter a non-negative integer') factorial = 1 for i in range(2, n + 1): factorial *= i print(factorial) Libraries[edit][edit]Thư viện tiêu chuẩn lớn của Python [121] cung cấp các công cụ phù hợp với nhiều nhiệm vụ và thường được trích dẫn là một trong những thế mạnh lớn nhất của nó. Đối với các ứng dụng hướng tới Internet, nhiều định dạng và giao thức tiêu chuẩn như MIME và HTTP được hỗ trợ. Nó bao gồm các mô-đun để tạo giao diện người dùng đồ họa, kết nối với cơ sở dữ liệu quan hệ, tạo số giả, số học với số thập phân chính xác tùy ý, [122] thao tác các biểu thức chính quy và kiểm tra đơn vị. Một số phần của thư viện tiêu chuẩn được đề cập bởi các thông số kỹ thuật, ví dụ, việc triển khai giao diện cổng máy chủ web (WSGI) Spanning multiple lines96 theo PEP 333 [123], hầu hết được chỉ định bởi mã, tài liệu nội bộ và bộ kiểm tra của chúng. Tuy nhiên, vì hầu hết các thư viện tiêu chuẩn là mã python đa nền tảng, chỉ một vài mô-đun cần thay đổi hoặc viết lại cho việc triển khai biến thể. Tính đến 14 & nbsp; tháng 11 & NBSP; 2022, Chỉ số gói Python (PYPI), kho lưu trữ chính thức cho phần mềm Python của bên thứ ba, chứa hơn 415.000 [124] các gói có nhiều chức năng, bao gồm: bao gồm:
Môi trường phát triển [Chỉnh sửa][edit]Hầu hết các triển khai Python (bao gồm cả CPYThon) bao gồm vòng lặp in (repl) của Read Read Eval, cho phép họ hoạt động như một trình thông dịch dòng lệnh mà người dùng nhập các câu lệnh theo tuần tự và nhận kết quả ngay lập tức. Python cũng đi kèm với một môi trường phát triển tích hợp (IDE) được gọi là IDLE, hướng đến người mới bắt đầu hơn. Các vỏ khác, bao gồm Idle và Ipython, thêm các khả năng khác như cải thiện tự động hoàn thành, duy trì trạng thái phiên và làm nổi bật cú pháp. Cũng như môi trường phát triển tích hợp máy tính để bàn tiêu chuẩn, có các IDE dựa trên trình duyệt web, bao gồm Sagemath, để phát triển các chương trình liên quan đến khoa học và toán học; Pythonanywhere, một IDE dựa trên trình duyệt và môi trường lưu trữ; và Canopy IDE, một IDE thương mại nhấn mạnh điện toán khoa học. [125] Implementations[edit][edit]Thực hiện tham chiếu [Chỉnh sửa][edit]CPython là việc thực hiện tham chiếu của Python. Nó được viết bằng C, đáp ứng tiêu chuẩn C89 (Python 3.11 sử dụng C11 [126]) với một số tính năng C99 được chọn (với các phiên bản C sau này, nó được coi là lỗi thời. [127] [128] Các tiện ích mở rộng của bên thứ ba không giới hạn ở các phiên bản C cũ hơn, ví dụ. 132] CPython được phân phối với một thư viện tiêu chuẩn lớn được viết trong hỗn hợp C và Python gốc, và có sẵn cho nhiều nền tảng, bao gồm cả Windows (bắt đầu với Python & NBSP; 3.9, trình cài đặt Python cố tình không cài đặt trên Windows 7 và 8; [133] . VMS. [135] Tính di động của nền tảng là một trong những ưu tiên sớm nhất của nó. [136] . Các triển khai khác [Chỉnh sửa][edit]
Việc triển khai không được hỗ trợ [Chỉnh sửa][edit]Các trình biên dịch Python chỉ trong thời gian khác đã được phát triển, nhưng hiện không được hỗ trợ:
Các trình biên dịch chéo sang các ngôn ngữ khác [chỉnh sửa][edit]Có một số trình biên dịch cho các ngôn ngữ đối tượng cấp cao, với Python không giới hạn, một tập hợp con bị hạn chế của Python hoặc một ngôn ngữ tương tự như Python như ngôn ngữ nguồn:
Chuyên:
Các dự án cũ hơn (hoặc không được sử dụng với Python 3.x và cú pháp mới nhất):
Performance[edit][edit]So sánh hiệu suất của các triển khai Python khác nhau trên khối lượng công việc không phải là số lượng (tổ hợp) được trình bày tại Euroscipy '13. [161] Hiệu suất của Python so với các ngôn ngữ lập trình khác cũng được đánh dấu bằng trò chơi điểm chuẩn ngôn ngữ máy tính. [162] Development[edit][edit]Sự phát triển của Python được thực hiện phần lớn thông qua quy trình đề xuất tăng cường Python (PEP), cơ chế chính để đề xuất các tính năng mới lớn, thu thập đầu vào của cộng đồng về các vấn đề và ghi lại các quyết định thiết kế Python. [163] Phong cách mã hóa Python được bao phủ trong PEP & NBSP; 8. [164] PEP nổi bật được xem xét và nhận xét bởi cộng đồng Python và Hội đồng chỉ đạo. [163] Tăng cường ngôn ngữ tương ứng với sự phát triển của việc thực hiện tham chiếu CPython. Danh sách gửi thư Python-Dev là diễn đàn chính để phát triển ngôn ngữ. Các vấn đề cụ thể ban đầu được thảo luận trong Trình theo dõi Bug Roundup được tổ chức tại Quỹ. [165] Năm 2022, tất cả các vấn đề và thảo luận đã được di chuyển sang GitHub. [166] Sự phát triển ban đầu diễn ra trên kho lưu trữ mã nguồn tự lưu trữ chạy Mercurial, cho đến khi Python chuyển đến GitHub vào tháng 1 năm 2017. [167] Các bản phát hành công khai của CPYThon có ba loại, được phân biệt theo phần của số phiên bản được tăng lên:
Nhiều alpha, beta và candidates phát hành cũng được phát hành dưới dạng xem trước và để thử nghiệm trước khi phát hành cuối cùng. Mặc dù có một lịch trình sơ bộ cho mỗi bản phát hành, nhưng chúng thường bị trì hoãn nếu mã chưa sẵn sàng. Nhóm phát triển của Python giám sát trạng thái của mã bằng cách chạy bộ thử nghiệm đơn vị lớn trong quá trình phát triển. [173] Hội nghị học thuật lớn về Python là Pycon. Ngoài ra còn có các chương trình cố vấn Python đặc biệt, chẳng hạn như Pyladies. Python & nbsp; 3.10 DEVERATED Trình tạo tài liệu API [Chỉnh sửa][edit]Các công cụ có thể tạo tài liệu cho API Python bao gồm PYDOC (có sẵn như là một phần của thư viện tiêu chuẩn), Sphinx, PDOC và Fork, Doxygen và Graphviz, trong số những người khác. [177] Naming[edit][edit]Tên của Python có nguồn gốc từ nhóm hài kịch Anh Monty Python, người mà nhà sáng tạo Python Guido Van Rossum rất thích khi phát triển ngôn ngữ. Các tài liệu tham khảo Monty Python xuất hiện thường xuyên trong mã Python và văn hóa; [178] Ví dụ, các biến số metasyntactic thường được sử dụng trong văn học Python là thư rác và trứng thay vì foo và thanh truyền thống. [178] [179] Tài liệu Python chính thức cũng chứa các tài liệu tham khảo khác nhau về các thói quen Monty Python. [180] [181] Tiền tố py- được sử dụng để chỉ ra rằng một cái gì đó có liên quan đến Python. Ví dụ về việc sử dụng tiền tố này trong tên của các ứng dụng hoặc thư viện Python bao gồm pygame, liên kết SDL với Python (thường được sử dụng để tạo trò chơi); Pyqt và pygtk, liên kết qt và gtk với python tương ứng; và Pypy, một triển khai Python ban đầu được viết bằng Python. Popularity[edit][edit]Kể từ năm 2003, Python đã liên tục xếp hạng trong mười ngôn ngữ lập trình phổ biến nhất trong Chỉ số cộng đồng lập trình TiOBE trong đó, kể từ tháng 10 & NBSP; 2021, đây là ngôn ngữ phổ biến nhất (trước Java và C). [182] Nó đã được chọn ngôn ngữ lập trình của năm (cho "mức xếp hạng cao nhất trong một năm") trong năm 2007, 2010, 2018 và 2020 (ngôn ngữ duy nhất làm như vậy bốn lần [183]). [184] Một nghiên cứu thực nghiệm cho thấy các ngôn ngữ kịch bản, chẳng hạn như Python, hiệu quả hơn các ngôn ngữ thông thường, như C và Java, cho các vấn đề lập trình liên quan đến thao tác chuỗi và tìm kiếm trong từ điển, và xác định rằng mức tiêu thụ bộ nhớ thường "tốt hơn Java và không Tệ hơn nhiều so với C hoặc C ++ ". [185] Các tổ chức lớn sử dụng Python bao gồm Wikipedia, Google, [186] Yahoo!, [187] Cern, [188] NASA, [189] Facebook, [190] Amazon, Instagram, [191] Spotify, [192] và một số thực thể nhỏ hơn như ILM [193] và Ita. [194] Trang web mạng tin tức xã hội Reddit được viết chủ yếu bằng Python. [195] Uses[edit][edit]Python có thể phục vụ như một ngôn ngữ kịch bản cho các ứng dụng web, ví dụ: thông qua mod_wsgi cho máy chủ web Apache. [196] Với giao diện Gateway máy chủ web, API tiêu chuẩn đã phát triển để tạo điều kiện cho các ứng dụng này. Các khung web như Django, Pylons, Pyramid, Turbogears, Web2py, Tornado, Flask, Chai và Zope Hỗ trợ các nhà phát triển trong việc thiết kế và bảo trì các ứng dụng phức tạp. PYJS và IronPython có thể được sử dụng để phát triển phía máy khách của các ứng dụng dựa trên AJAX. SQLalchemy có thể được sử dụng như một bản đồ dữ liệu cho cơ sở dữ liệu quan hệ. Twisted là một khung để giao tiếp chương trình giữa các máy tính và được sử dụng (ví dụ) bằng Dropbox. Các thư viện như Numpy, Scipy và Matplotlib cho phép sử dụng hiệu quả Python trong điện toán khoa học, [197] [198] với các thư viện chuyên dụng như Biopython và Astropy cung cấp chức năng cụ thể về miền. Sagemath là một hệ thống đại số máy tính với giao diện máy tính xách tay có thể lập trình trong Python: thư viện của nó bao gồm nhiều khía cạnh của toán học, bao gồm đại số, tổ hợp, toán học số, lý thuyết số và tính toán. [199] OpenCV có các ràng buộc python với một bộ tính năng phong phú để nhìn thấy tầm nhìn máy tính và xử lý hình ảnh. [200] Python thường được sử dụng trong các dự án trí tuệ nhân tạo và các dự án học máy với sự trợ giúp của các thư viện như Tensorflow, Keras, Pytorch và Scikit-Learn. [201] [202] [203] [204] Là ngôn ngữ kịch bản với kiến trúc mô -đun, cú pháp đơn giản và các công cụ xử lý văn bản phong phú, Python thường được sử dụng để xử lý ngôn ngữ tự nhiên. [205] Python cũng có thể được sử dụng để tạo trò chơi, với các thư viện như Pygame, có thể tạo ra các trò chơi 2D. Python đã được nhúng thành công vào nhiều sản phẩm phần mềm như một ngôn ngữ kịch bản, bao gồm trong phần mềm phương thức phần tử hữu hạn như ABAQUS, các nhà mô hình tham số 3D như Freecad, các gói hoạt hình 3D như 3DS Max, Blender, Cinema 4D, Lightwave, Houdini, Maya, Modo , MotionBuilder, SoftImage, Nhà soạn nhạc hiệu ứng hình ảnh Nuke, các chương trình hình ảnh 2D như Gimp, [206] Inkscape, Scribus và Paint Shop Pro, [207] và các chương trình ký hiệu âm nhạc như ScoreWriter và Capella. Trình gỡ lỗi GNU sử dụng Python như một máy in khá để hiển thị các cấu trúc phức tạp như các thùng chứa C ++. ESRI quảng bá Python là lựa chọn tốt nhất để viết các tập lệnh trong ArcGIS. [208] Nó cũng đã được sử dụng trong một số trò chơi video, [209] [210] và đã được nhận làm đầu tiên trong ba ngôn ngữ lập trình có sẵn trong Google App Engine, hai ngôn ngữ còn lại là Java và Go. [211] Nhiều hệ điều hành bao gồm Python như một thành phần tiêu chuẩn. Nó vận chuyển với hầu hết các bản phân phối Linux, [212] Amigaos 4 (sử dụng Python & NBSP; 2.7), FreeBSD (như một gói), NetBSD và OpenBSD (làm gói) và có thể được sử dụng từ dòng lệnh (thiết bị đầu cuối). Nhiều phân phối Linux sử dụng các trình cài đặt được viết bằng Python: Ubuntu sử dụng trình cài đặt phổ biến, trong khi Red Hat Linux và Fedora Linux sử dụng trình cài đặt Anaconda. Gentoo Linux sử dụng Python trong hệ thống quản lý gói, Portage. Python được sử dụng rộng rãi trong ngành bảo mật thông tin, bao gồm cả phát triển khai thác. [213] [214] Hầu hết các phần mềm đường cho một máy tính xách tay cho mỗi đứa trẻ XO, được phát triển tại Sugar Labs từ năm 2008, được viết bằng Python. [215] Dự án máy tính một bảng Raspberry Pi đã áp dụng Python làm ngôn ngữ lập trình người dùng chính. LibreOffice bao gồm Python và dự định thay thế Java bằng Python. Nhà cung cấp kịch bản Python của nó là một tính năng cốt lõi [216] kể từ phiên bản 4.0 từ ngày 7 tháng 2 năm 2013. Ngôn ngữ chịu ảnh hưởng của Python [Chỉnh sửa][edit]Thiết kế và triết học của Python đã ảnh hưởng đến nhiều ngôn ngữ lập trình khác:
Thực tiễn phát triển của Python cũng đã được mô phỏng bởi các ngôn ngữ khác. Ví dụ, thực tiễn yêu cầu một tài liệu mô tả lý do và các vấn đề xung quanh, một sự thay đổi đối với ngôn ngữ (trong Python, PEP) cũng được sử dụng trong TCL, [226] Erlang, [227] và Swift. [228] Xem thêm [sửa][edit]
References[edit][edit]
Sources[edit][edit]
Đọc thêm [Chỉnh sửa][edit]
Liên kết bên ngoài [Chỉnh sửa][edit]
Ai đã phát minh ra Python và tại sao?¶ Khi anh bắt đầu thực hiện Python, Guido Van Rossum cũng đang đọc các kịch bản được xuất bản từ Flying Flying Circus, một loạt phim hài của BBC từ những năm 1970.Van Rossum nghĩ rằng anh ta cần một cái tên ngắn, độc đáo và hơi bí ẩn, vì vậy anh ta quyết định gọi ngôn ngữ Python.
Ai là người sáng lập Python?Guido Van Rossumpython / được thiết kế
Python và Java được phát minh khi nào?Python được phát hành lần đầu tiên vào năm 1991. Đây là một ngôn ngữ lập trình mục đích chung, cấp cao, cấp cao.Nó là hướng đối tượng.Được thiết kế bởi Guido Van Rossum, Python thực sự có một triết lý thiết kế tập trung vào khả năng đọc mã.. It is an interpreted, high-level, general purpose programming language. It is Object-Oriented. Designed by Guido van Rossum, Python actually has a design philosophy centered around code readability.
Java hay Python đã đến trước?Lịch sử của Java & Python Python là ngôn ngữ cũ hơn trong hai ngôn ngữ, lần đầu tiên được phát hành vào năm 1991 bởi nhà phát minh của nó, Guido Van Rossum.Python is the older of the two languages, first released in 1991 by its inventor, Guido van Rossum. |