Trang web Discuss.python.org

Python là ngôn ngữ lập trình cấp cao, hướng đối tượng, thông dịch với ngữ nghĩa động. Các cấu trúc dữ liệu tích hợp ở mức cao, kết hợp với kiểu gõ động và liên kết động, làm cho nó trở nên rất hấp dẫn đối với Phát triển ứng dụng nhanh, cũng như để sử dụng làm ngôn ngữ kịch bản hoặc ngôn ngữ keo để kết nối các thành phần hiện có với nhau. Cú pháp đơn giản, dễ học của Python nhấn mạnh khả năng đọc và do đó giảm chi phí bảo trì chương trình. Python hỗ trợ các mô-đun và gói, khuyến khích mô-đun hóa chương trình và tái sử dụng mã. Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn ở dạng nguồn hoặc nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối miễn phí

Thông thường, các lập trình viên yêu thích Python vì năng suất tăng lên mà nó mang lại. Vì không có bước biên dịch nên chu trình chỉnh sửa-kiểm tra-gỡ lỗi diễn ra cực kỳ nhanh. Gỡ lỗi chương trình Python thật dễ dàng. một lỗi hoặc đầu vào xấu sẽ không bao giờ gây ra lỗi phân đoạn. Thay vào đó, khi trình thông dịch phát hiện ra lỗi, nó sẽ đưa ra một ngoại lệ. Khi chương trình không bắt được ngoại lệ, trình thông dịch sẽ in dấu vết ngăn xếp. Trình gỡ lỗi cấp nguồn cho phép kiểm tra các biến cục bộ và biến toàn cầu, đánh giá các biểu thức tùy ý, thiết lập các điểm dừng, duyệt qua mã một dòng tại một thời điểm, v.v. Trình gỡ lỗi được viết bằng chính Python, minh chứng cho sức mạnh nội tâm của Python. Mặt khác, cách nhanh nhất để gỡ lỗi chương trình là thêm một vài câu lệnh in vào mã nguồn. chu trình chỉnh sửa-kiểm tra-gỡ lỗi nhanh làm cho phương pháp đơn giản này rất hiệu quả

Xem thêm một số so sánh giữa Python và các ngôn ngữ khác

Cứu giúp

Mới lập trình và Python?

  • Kiểm tra Hướng dẫn cho người mới bắt đầu

Bạn mới sử dụng Python?

  • Đọc hướng dẫn tiêu chuẩn
  • Tìm kiếm một cuốn sách phù hợp từ một danh sách các tiêu đề ngày càng tăng

Tìm kiếm mã?

  • Xem trang tải xuống để biết các liên kết đến trình thông dịch Python
  • Khám phá kho lưu trữ phát triển

Có vấn đề hoặc câu hỏi về Python?

  • Trước tiên, hãy kiểm tra Câu hỏi thường gặp về Python, với câu trả lời cho nhiều câu hỏi phổ biến, chung chung về Python
  • Danh mục Người dùng của cuộc thảo luận. con trăn. trang web org lưu trữ các câu hỏi và câu trả lời về cách sử dụng từ cộng đồng Python
  • Danh sách gia sư cung cấp trợ giúp tương tác
  • Nếu danh sách gia sư không phải là tách trà của bạn, có rất nhiều danh sách gửi thư và nhóm tin khác
  • Stack Overflow có nhiều câu hỏi và câu trả lời về Python
  • Nếu bạn nghi ngờ có lỗi trong lõi Python, hãy tìm kiếm Trình theo dõi lỗi Python
  • Nếu bạn cho rằng mình đã tìm thấy lỗ hổng bảo mật trong Python, vui lòng đọc hướng dẫn báo cáo sự cố bảo mật
  • Nếu bạn thấy trang web này có vấn đề, hãy kiểm tra trình theo dõi vấn đề pythondotorg

Bạn đang tìm kiếm một mô-đun hoặc ứng dụng Python cụ thể?

  • Hãy thử Chỉ mục gói Python để duyệt và tìm kiếm danh sách đầy đủ các gói đã đăng ký

Bạn muốn đóng góp?

  • Để báo cáo lỗi trong lõi Python, hãy sử dụng Trình theo dõi lỗi Python
  • Để báo cáo sự cố với trang web này, hãy sử dụng trình theo dõi sự cố pythondotorg
  • Để đóng góp bản sửa lỗi hoặc bản vá khác cho lõi Python, hãy xem Hướng dẫn dành cho nhà phát triển Python
  • Để đóng góp vào tài liệu Python chính thức, hãy sử dụng Trình theo dõi sự cố để đóng góp bản vá tài liệu. Xem thêm hướng dẫn Trợ giúp với Tài liệu
  • Để đóng góp cho trang web chính thức của Python, hãy xem trang Giới thiệu về trang web Python hoặc đọc hướng dẫn dành cho nhà phát triển trên Read the Docs
  • Để thông báo mô-đun hoặc ứng dụng của bạn cho cộng đồng Python, hãy sử dụng comp. lang thang. con trăn. thông báo [hoặc qua email, python-announce@python. org, nếu bạn thiếu quyền truy cập tin tức]. Thêm thông tin.

Bạn cần liên hệ với Python Software Foundation?

  • Liên hệ với psf@python. org và cho chúng tôi biết chúng tôi có thể trợ giúp như thế nào

Vấn đề với trang web này?

  • Nếu bạn gặp sự cố với python. org, hãy liên hệ với webmaster@python. org và cho chúng tôi biết chúng tôi có thể trợ giúp như thế nào

Các vấn đề khác?

  • Nếu bạn có câu hỏi chưa được trả lời ở đây, vui lòng liên hệ để thảo luận. con trăn. tổ chức

CPython là triển khai tham chiếu của ngôn ngữ lập trình Python. Được viết bằng C và Python, CPython là triển khai mặc định và được sử dụng rộng rãi nhất của ngôn ngữ Python

CPython có thể được định nghĩa là cả trình thông dịch và trình biên dịch vì nó biên dịch mã Python thành mã byte trước khi diễn giải nó. Nó có giao diện chức năng nước ngoài với một số ngôn ngữ, bao gồm cả C, trong đó người ta phải viết rõ ràng các ràng buộc bằng ngôn ngữ khác Python

Một tính năng cụ thể của CPython là nó sử dụng khóa trình thông dịch toàn cầu [GIL] trên mỗi quy trình trình thông dịch CPython, có nghĩa là trong một quy trình, chỉ một luồng có thể xử lý mã byte Python tại bất kỳ thời điểm nào. Điều này không có nghĩa là không có điểm nào trong đa luồng;

Điều này có thể xảy ra khi nhiều luồng đang phục vụ các máy khách riêng biệt. Một luồng có thể đang đợi khách hàng trả lời và một luồng khác có thể đang đợi thực thi truy vấn cơ sở dữ liệu, trong khi luồng thứ ba thực sự đang xử lý mã Python

Tuy nhiên, GIL không có nghĩa là CPython không phù hợp với các quy trình triển khai các thuật toán sử dụng nhiều CPU trong mã Python có khả năng được phân phối trên nhiều lõi

Trong các ứng dụng trong thế giới thực, các tình huống mà GIL là một nút cổ chai đáng kể là khá hiếm. Điều này là do Python vốn là một ngôn ngữ chậm và thường không được sử dụng cho các hoạt động sử dụng nhiều CPU hoặc nhạy cảm với thời gian. Python thường được sử dụng ở cấp cao nhất và gọi các hàm trong thư viện để thực hiện các tác vụ chuyên biệt. Các thư viện này thường không được viết bằng Python và mã Python trong một luồng khác có thể được thực thi trong khi lệnh gọi đến một trong các quy trình cơ bản này diễn ra. Thư viện không phải Python được gọi để thực hiện tác vụ sử dụng nhiều CPU không tuân theo GIL và có thể thực thi đồng thời nhiều luồng trên nhiều bộ xử lý mà không bị hạn chế

Đồng thời mã Python chỉ có thể đạt được với các quy trình thông dịch CPython riêng biệt được quản lý bởi một hệ điều hành đa nhiệm. Điều này làm phức tạp giao tiếp giữa các quy trình Python đồng thời, mặc dù mô-đun đa xử lý giảm thiểu phần nào điều này;

Sự hiện diện của GIL giúp đơn giản hóa việc triển khai CPython và giúp việc triển khai các ứng dụng đa luồng không được hưởng lợi từ việc thực thi mã Python đồng thời trở nên dễ dàng hơn. Tuy nhiên, nếu không có GIL, các ứng dụng đa xử lý phải đảm bảo tất cả mã phổ biến là luồng an toàn

Mặc dù nhiều đề xuất đã được đưa ra để loại bỏ GIL, nhưng sự đồng thuận chung là trong hầu hết các trường hợp, ưu điểm của GIL lớn hơn nhược điểm;

Lịch sử[sửa]

Nuốt không tải[sửa]

Unladen Swallow là một nhánh tối ưu hóa của CPython, nhằm tương thích hoàn toàn và nhanh hơn đáng kể. Nó nhằm mục đích đạt được mục tiêu của mình bằng cách bổ sung máy ảo tùy chỉnh của CPython với trình biên dịch đúng lúc được xây dựng bằng LLVM

Dự án đã nêu mục tiêu cải thiện tốc độ lên gấp 5 lần so với CPython;

Dự án được tài trợ bởi Google và chủ sở hữu dự án, Thomas Wouters, Jeffrey Yasskin và Collin Winter, là nhân viên chính thức của Google; . Unladen Swallow được lưu trữ trên Google Code

Giống như nhiều thứ liên quan đến ngôn ngữ Python, cái tên Unladen Swallow là một tài liệu tham khảo của Monty Python, đặc biệt là trò đùa về vận tốc bay của những con én không tải trong Monty Python và Chén Thánh

Mặc dù không đạt được tất cả các mục tiêu đã công bố, nhưng Unladen Swallow đã tạo ra một số mã được thêm vào triển khai Python chính, chẳng hạn như các cải tiến đối với mô-đun cPickle

Vào tháng 7 năm 2010, một số nhà quan sát đã suy đoán về việc liệu dự án đã chết hay chưa vì cột mốc Q4 năm 2009 vẫn chưa được công bố. Lưu lượng truy cập vào danh sách gửi thư của Unladen đã giảm từ 500 thư vào tháng 1 năm 2010 xuống dưới 10 thư vào tháng 9 năm 2010. Cũng có thông tin cho rằng Unladen đã mất tiền tài trợ của Google. Vào tháng 11 năm 2010, một trong những nhà phát triển chính đã thông báo rằng "Jeffrey và tôi đã được mời tham gia các dự án khác có tầm quan trọng cao hơn đối với Google"

Chi nhánh phát triển Q4 năm 2009 được thành lập vào ngày 26 tháng 1 năm 2010, nhưng không có quảng cáo nào được thực hiện trên trang web. Hơn nữa, liên quan đến các kế hoạch dài hạn và khi dự án bỏ lỡ Python 2. 7, Đề xuất cải tiến Python [PEP] đã được chấp nhận, đề xuất hợp nhất Unladen Swallow vào một nhánh py3k-jit đặc biệt của kho lưu trữ chính thức của Python. Kể từ tháng 7 năm 2010, công việc này đã được tiến hành. Việc hợp nhất này sẽ mất một thời gian, vì Unladen Swallow ban đầu dựa trên Python 2. 6 mà Python 3 đã phá vỡ khả năng tương thích [xem Python 3000 để biết thêm chi tiết]. Tuy nhiên, PEP sau đó đã bị rút lại

Đầu năm 2011, rõ ràng là dự án đã bị dừng lại

Lịch sử phát hành Unladen Swallow[sửa | sửa mã nguồn]

  • Quý 1 năm 2009
  • Quý 2 năm 2009
  • Quý 3 năm 2009. giảm sử dụng bộ nhớ, cải thiện tốc độ

Phân phối[sửa]

Các nền tảng cấp 1 được hỗ trợ chính thức là Windows, Linux và macOS [cũng như Raspberry Pi OS và Linux cho s390x ở cấp thấp hơn]

Có nhiều nền tảng có triển khai hoạt động bao gồm

Unix-likeĐặc biệt và nhúngKhác

PEP 11 liệt kê các nền tảng không được Python Software Foundation hỗ trợ trong CPython. Các nền tảng này vẫn có thể được hỗ trợ bởi các cổng bên ngoài. Các cổng này bao gồm

Các cổng bên ngoài không được tích hợp vào phiên bản CPython chính thức của Python Software Foundation, với các liên kết đến trang web phát triển chính của nó, thường bao gồm các mô-đun bổ sung cho các chức năng dành riêng cho nền tảng, như API đồ họa và âm thanh cho PSP và SMS và API máy ảnh cho S60. Các cổng này bao gồm

Doanh nghiệp Linux[sửa]

Các phiên bản Python này được phân phối với các bản phân phối Linux dành cho doanh nghiệp hiện được hỗ trợ. Trạng thái hỗ trợ của Python trong bảng đề cập đến hỗ trợ từ nhóm nòng cốt Python chứ không phải từ nhà bảo trì phân phối

Enterprise LinuxDistribution versionDistribution end-of-lifePhiên bản PythonUbuntu 22. 04 LTS [Sứa Jammy]3. 10 [1]Ubuntu 20. 04 LTS [Focal Fossa]2030-04[]Phiên bản cũ hơn, vẫn được duy trì. 3. 8Ubuntu 18. 04 LTS [Bionic Beaver]2028-04Phiên bản cũ, không còn được bảo trì. 2. 7Phiên bản cũ, không còn được bảo trì. 3. 6Ubuntu 16. 04 LTS [Xenial Xerus]2021-04-30[]Phiên bản cũ, không còn được bảo trì. 2. 7Phiên bản cũ, không còn được bảo trì. 3. 5Debian 112026-06Phiên bản cũ hơn, nhưng vẫn được duy trì. 3. 9Debian 102024-06Phiên bản cũ, không còn được bảo trì. 2. 7Phiên bản cũ hơn, nhưng vẫn được duy trì. 3. 7Debian 92022-06-30[]Phiên bản cũ, không còn được bảo trì. 2. 7Phiên bản cũ, không còn được bảo trì. 3. 5Red Hat Enterprise Linux 82029Phiên bản cũ, không còn được bảo trì. 2. 7Phiên bản cũ, không còn được bảo trì. 3. 6 Red Hat Enterprise Linux 72024-11-30 Phiên bản cũ, không còn được bảo trì. 2. 7CentOS 82029-05-31Phiên bản cũ, không còn bảo trì. 2. 7Phiên bản cũ, không còn được bảo trì. 3. 6 CentOS 72024-06-30 Phiên bản cũ, không còn bảo trì. 2. 7SUSE Linux Enterprise Server 152031-07-31Phiên bản cũ, không còn bảo trì. 2. 7Phiên bản cũ, không còn được bảo trì. 3. SUSE Linux Enterprise Server 122027-10-31 Phiên bản cũ, không còn được bảo trì. 2. 7SUSE Linux Enterprise Server 112022-03-31[]Phiên bản cũ, không còn được bảo trì. 2. 7

Phiên bản cũ hơn, vẫn được duy trì

Các lựa chọn thay thế[sửa]

CPython là một trong số "chất lượng sản xuất" bao gồm. Jython, được viết bằng Java cho máy ảo Java [JVM], PyPy, được viết và dịch sang C, và IronPython, được viết bằng C# cho Cơ sở hạ tầng ngôn ngữ chung. Ngoài ra còn có một số triển khai thử nghiệm

Tổ chức Python được sử dụng để làm gì?

Python thường được sử dụng làm ngôn ngữ hỗ trợ cho các nhà phát triển phần mềm, để kiểm soát và quản lý bản dựng, thử nghiệm và theo nhiều cách khác . SCons để kiểm soát xây dựng. Buildbot và Apache Gump để biên dịch và thử nghiệm tự động liên tục. Roundup hoặc Trac để theo dõi lỗi và quản lý dự án.

Trang web chính thức của Python là gì?

Trình thông dịch Python và thư viện chuẩn mở rộng được cung cấp miễn phí ở dạng mã nguồn hoặc nhị phân cho tất cả các nền tảng chính từ trang web Python, https. //www. con trăn. org/ , và có thể được phân phối miễn phí.

Python câu trả lời rất ngắn là gì?

Python là ngôn ngữ lập trình cấp cao, hướng đối tượng, thông dịch với ngữ nghĩa động do Guido van Rossum phát triển . Ban đầu nó được phát hành vào năm 1991. Được thiết kế để dễ sử dụng cũng như thú vị, cái tên "Python" là tên gọi của nhóm hài kịch người Anh Monty Python.

Tôi có thể lấy câu trả lời Python ở đâu?

Bạn có câu hỏi hoặc vấn đề về Python? .
Trước tiên, hãy kiểm tra Câu hỏi thường gặp về Python, với câu trả lời cho nhiều câu hỏi phổ biến, chung chung về Python
Danh mục Người dùng của cuộc thảo luận. con trăn. trang web org lưu trữ các câu hỏi và câu trả lời về cách sử dụng từ cộng đồng Python
Danh sách gia sư cung cấp trợ giúp tương tác

Chủ Đề