2010-07-15 45 views
7

Vì có một con trăn 3.x, tại sao chúng ta không sử dụng nó?
Tại sao chúng ta vẫn sử dụng 2.x?
Sự khác nhau là gì?python 2.x hoặc 3.x

Trả lời

14

Python 2.6 và 2.7 đã được viết để dễ dàng chuyển sang Python 3. Sẽ mất thêm thời gian để chuyển các gói phức tạp hơn (tức là những gói có nhiều phụ thuộc hoặc thư viện được viết bằng C).

Vì vậy, nếu bạn đang bắt đầu dự án mới và tất cả thư viện bạn cần đều có, bắt đầu với 3.1. Một trong những thay đổi chào đón hơn là việc xử lý các chuỗi Unicode theo mặc định - nó sẽ ngăn chặn rất nhiều lỗi.

Nhưng nếu bạn định chuyển sang ứng dụng ERP hoàn chỉnh, hoặc bất kỳ thứ gì lớn, từ 2,6 đến 3.x, nó có thể là một cuộc tắm máu ngay bây giờ. Ví dụ, các thay đổi unicode là khó nhất để áp dụng từ 2.x -> 3.x và các API C cấp thấp cũng đã thay đổi rất nhiều.

8

Vì 3.x không tương thích ngược với 2.x và rất nhiều ứng dụng và thư viện được viết cho chuỗi 2.x. 3.x là nỗ lực của họ trong việc làm sạch tất cả các crud mà không bao giờ nên có được trong Python ở nơi đầu tiên .... và họ đã phải thực hiện một số thay đổi phá vỡ. Có lẽ tốt nhất để gắn bó với 2.x cho bây giờ, đến 3.x tăng thêm một chút phổ biến.

+2

Vâng, tôi nghĩ rằng điều chính nắm giữ nhiều người là sự vắng mặt của phiên bản Python 3 của nhiều thư viện phổ biến. –

2

Bởi vì rất nhiều thư viện vẫn chưa được chuyển đến 3.x Tôi đoán ... Và bởi vì rất nhiều ứng dụng vẫn chạy trên 2.x

5

Nếu bạn đang viết một ứng dụng mới, và không dựa trên các thư viện chưa có hỗ trợ 3.x, tôi khuyên bạn nên sử dụng 3.x. Hãy tạo ra một số lượng lớn :)

Hãy nhìn vào các python 3 documentation tự

Các vấn đề liên quan