Hướng dẫn where was python developed? - python được phát triển ở đâu?
Python Show
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] 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ệ và giao tiếp với việc điều trị ngoại lệ 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 Spanning multiple lines08, 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] Loại bỏ khỏi Python [Chỉnh sửa][edit]Mô -đun Spanning multiple lines09 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 Spanning multiple lines10), các lớp và phương pháp đã bị xóa. Các thành viên độ dài Spanning multiple lines11 và Spanning multiple lines12 không dùng nữa của việc triển khai C của các đối tượng Unicode đã bị xóa, [64] để 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 [65] và metaobjects). [66] 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 [67] [68] và lập trình logic. [69] 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ớ. [70] 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. [71] 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. [72] 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ư: [73]
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 đó". [73] 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." [74] 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. [75] 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 [76], 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. [77] [78] Tên ngôn ngữ lập trình 'Python' xuất phát từ loạt phim hài của BBC Monty Python's Flying Circus. Guido 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ì vậy, anh ta quyết định đặt tên cho ngôn ngữ lập trình 'Python'. [76] 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. [79] [80] 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. [81] [82] 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. [83] 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. [84] 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ó. [85] 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. [86] 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ờ. [89] [90] 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. [91] 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. [92] Expressions[edit][edit]Một số biểu thức Python tương tự như các biểu thức bằng các ngôn ngữ như C và Java, trong khi một số không:
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 lines576 không thể tạo thành một phần của biểu thức có điều kiện của một câu lệnh có điều kiện. Điều này có lợi thế là tránh lỗi C cổ điển khi nhầm một toán tử gán Spanning multiple lines3 đối với toán tử bình đẳng Spanning multiple lines091 trong các điều kiện: Spanning multiple lines579 có giá trị về mặt cú pháp (nhưng có thể ngoài ý muốn), nhưng Spanning multiple lines640 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 Spanning multiple lines641, đối với các phương pháp và chức năng bình thường, đường cú pháp cho Spanning multiple lines642. Các phương thức Python có tham số Spanning multiple lines643 rõ ràng để truy cập dữ liệu thể hiện, trái ngược với bản thân ngầm (hoặc Spanning multiple lines644) trong một số ngôn ngữ lập trình hướng đối tượng khác (ví dụ: C ++, Java, Objective-C, Ruby). [103] Python cũng cung cấp các phương thức, thường được gọi là các phương thức Dunder (do tên của chúng bắt đầu và kết thúc bằng hai phần tử), để cho phép các lớp do người dùng xác định sửa đổi cách chúng được xử lý bởi các hoạt động gốc bao gồm độ dài, so sánh, trong các hoạt động số học và chuyển đổi loại. [104] 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ụ: Spanning multiple lines645 hoặc Spanning multiple lines646) và các lớp là các trường hợp của metaclass Spanning multiple lines647 (bản thân nó là một thể hiện của chính nó), cho phép siêu hình và phản xạ. 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, [105] 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. [106] 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. [107] Tóm tắt các loại tích hợp của Python 3
Spanning multiple lines 649Spanning multiple lines 00có thể thay đổi Trình tự của byte
Spanning multiple lines06 Spanning multiple lines07 Spanning multiple lines08 Spanning multiple lines09 Spanning multiple lines02 Spanning multiple lines03 Spanning multiple lines04 Spanning multiple lines26 Spanning multiple lines05 Spanning multiple lines649 Spanning multiple lines00 Spanning multiple lines34 Spanning multiple lines649 Spanning multiple lines00 Spanning multiple lines37 Spanning multiple lines39 Spanning multiple lines40 Spanning multiple lines40 Spanning multiple lines2 Spanning multiple lines Spanning multiple lines649 Spanning multiple lines00 Spanning multiple lines43 Spanning multiple lines44 Spanning multiple lines 01[edit] có thể thay đổiTrình tự của byte Python cung cấp chức nă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]Spanning multiple lines75 để làm tròn phao vào số nguyên gần nhất. Để phá vỡ, Python & NBSP; 3 sử dụng tròn để thậm chí: Spanning multiple lines76 và Spanning multiple lines77 cả hai sản xuất ________ 178. [114] Các phiên bản trước 3 được sử dụng tròn từ xa-từ không: Spanning multiple lines79 là Spanning multiple lines80, Spanning multiple lines81 là ________ 182. [115] 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 lines83 kiểm tra xem Spanning multiple lines71 có nhỏ hơn Spanning multiple lines73 và Spanning multiple lines73 nhỏ hơn ________ 187. [116] 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 lines88, dẫn đến 0 hoặc 1 và kết quả đó sau đó sẽ được so sánh với ________ 187. [117] 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
Ứng dụng di độngĐa phương tiện Mạng máy tính Điện toán khoa học Quản trị hệ thống 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 [127]) 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. [128] [129] 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ụ. 133] 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; [134] . VMS. [136] 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ó. [137] . 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. [162] 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. [163] 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. [164] Phong cách mã hóa Python được bao phủ trong PEP & NBSP; 8. [165] 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. [164] 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ỹ. [166] Năm 2022, tất cả các vấn đề và thảo luận đã được di chuyển sang GitHub. [167] 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. [168] 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. [174] 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 Spanning multiple lines11 (sẽ được loại bỏ trong Python & NBSP; 3.12; có nghĩa là các phần mở rộng Python [175] cần được sửa đổi sau đó), [176] và thêm mô hình khớp với ngôn ngữ. [177] 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. [178] 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; [179] 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. [179] [180] 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. [181] [182] 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 tháng 10 & NBSP; 2021, đây là ngôn ngữ phổ biến nhất (trước Java và C). [183] 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 [184]). [185] 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 ++ ". [186] Các tổ chức lớn sử dụng Python bao gồm Wikipedia, Google, [187] Yahoo!, [188] Cern, [189] NASA, [190] Facebook, [191] Amazon, Instagram, [192] Spotify, [193] và một số thực thể nhỏ hơn như ILM [194] và Ita. [195] Trang web mạng tin tức xã hội Reddit được viết chủ yếu bằng Python. [196] 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. [197] 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, [198] [199] 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. [200] 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 và xử lý hình ảnh. [201] 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. [202] [203] [204] [205] 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. [206] 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, [207] Inkscape, Scribus và Paint Shop Pro, [208] 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 kịch bản trong ArcGIS. [209] Nó cũng đã được sử dụng trong một số trò chơi video, [210] [211] 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. [212] 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, [213] 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. [214] [215] 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, bây giờ [khi?] Được phát triển tại Sugar Labs, được viết bằng Python. [216] 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.when?] developed at Sugar Labs, is written in Python.[216] The Raspberry Pi single-board computer project has adopted Python as its main user-programming language. when?] developed at Sugar Labs, is written in Python.[216] The Raspberry Pi single-board computer project has adopted Python as its main user-programming language. 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 [217] 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, [227] Erlang, [228] và Swift. [229] 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]
Python đã phát triển ở đâu?Python đã được Guido Van Rossum hình thành vào cuối những năm 1980 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, có khả năng xử lý ngoại lệ và giao tiếp với hệ điều hành AMOEBA. Việc thực hiện nó bắt đầu vào tháng 12 năm 1989.the Netherlands as a successor to the ABC programming language, which was inspired by SETL, capable of exception handling and interfacing with the Amoeba operating system. Its implementation began in December 1989.the Netherlands as a successor to the ABC programming language, which was inspired by SETL, capable of exception handling and interfacing with the Amoeba operating system. Its implementation began in December 1989. Ai đã phát minh ra Python ở Hà Lan?Guido Van Rossum (Hà Lan: [ˈɣido Vɑn ˈrɔsʏm, -səm]; sinh ngày 31 tháng 1 năm 1956) là một lập trình viên Hà Lan được biết đến như là người tạo ra ngôn ngữ lập trình Python, mà ông là "nhà độc tài nhân từ cho cuộc sống" (BDFL)Anh ta bước xuống từ vị trí vào ngày 12 tháng 7 năm 2018. (Dutch: [ˈɣido vɑn ˈrɔsʏm, -səm]; born 31 January 1956) is a Dutch programmer best known as the creator of the Python programming language, for which he was the "benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. (Dutch: [ˈɣido vɑn ˈrɔsʏm, -səm]; born 31 January 1956) is a Dutch programmer best known as the creator of the Python programming language, for which he was the "benevolent dictator for life" (BDFL) until he stepped down from the position on 12 July 2018. Công ty nào phát triển Python?Innowise Group chắc chắn là một trong 10 công ty phát triển Python hàng đầu vào năm 2021.Các nhà phát triển Python tại Innowise Group sử dụng ngôn ngữ này để xây dựng mọi thứ từ ứng dụng web & di động đến mọi thứ khác do Python cung cấp. Ai đã phát triển Python và khi nó được phát triển?Python được tạo ra bởi Guido Van Rossum, và lần đầu tiên phát hành vào ngày 20 tháng 2 năm 1991.Guido van Rossum, and first released on February 20, 1991.Guido van Rossum, and first released on February 20, 1991. |