2010-04-02 18 views
26

Tôi đã theo dõi câu chuyện về Python 3.x và đã xem các tính năng 3.x dần dần nhận được chuyển về dòng 2.x.Python - cái gì KHÔNG ở 2,7 IS trong 3.1? Rất nhiều thứ đã được chuyển đổi lại, cái gì KHÔNG?

Hầu hết các thư viện tôi sử dụng chưa được chuyển và một số thư viện (ví dụ: Xoắn) dường như bí mật hoặc công khai thù địch với 3.x đến các mức độ khác nhau. Ở mức độ nào, đã có rất ít chuyển động đối với các phiên bản tương thích của nhiều người trong số họ. Đặc biệt là những cái lớn hơn.

Vì vậy, câu hỏi của tôi là, với tất cả các tính năng đã được backported, những gì vẫn có sẵn trong 3.x đó là không được chuyển tiếp? Thật dễ dàng để tìm thấy những gì được nhập lại, nhưng không phải là những gì còn lại.

Ngay bây giờ, việc chuyển sang 3.x dường như giống như tất cả các cơn đau và tôi không thể thấy mức tăng; có lẽ một "Chỉ trong 3.x" danh sách sẽ cho phép tôi nhìn thấy ánh sáng ...

Cảm ơn,

Stu

+5

Bạn có tính các tính năng đó được nhập bởi 'từ __future__ nhập ???'? – kennytm

+0

Có vẻ như bạn thực sự muốn biết tại sao bạn nên chuyển sang Python3. Điều đó đã được trả lời nhiều lần rồi. –

+1

Không, tôi thực sự đang cố gắng tìm hiểu những gì trong Python 3 chưa được chuyển đổi lại. – StuFuller

Trả lời

6

Điều quan trọng nhất có lẽ là Unicode trong suốt. Vì vậy, không có nhu cầu nữa để fiddle xung quanh với str/unicode. Điều này nghe có vẻ nhỏ nhưng có ý nghĩa lớn (tích cực) khi bạn nghĩ về tương tác hệ điều hành - ví dụ mọi người phải cố gắng để cung cấp cho bạn chuỗi 'có thể sử dụng' thay vì 'một điều nhị phân có thể là một thông báo lỗi'.

Cũng có rất nhiều nội dung trong trình thông dịch đã được cải thiện. Một ví dụ là khóa thông dịch toàn cầu (GIL) không biến mất nhưng cách tốt hơn trong py3k: presentation+slides

+0

3.3 có cải thiện unicode. Có những cải tiến unicode khác và sửa lỗi chỉ trong hiện tại 3.x. –

3

Tốc độ có thể là một tính năng đáng nhắc đến.

Tỷ lệ imporovements của dự án "Unladen Swallow" đã được chấp thuận để được hợp nhất vào Python. Nhưng theo như tôi biết chỉ với Python 3. Xem PEP 3146 để biết chi tiết.

+0

AFAIK, Hoa Kỳ không khởi động tại thời điểm này do yêu cầu bộ nhớ nghiêm trọng và thời gian khởi động lâu, mặc dù tôi chắc chắn rằng sẽ được thực hiện (có thể với tiền định hình như nhiều người đã đề xuất). – StuFuller

+0

Nếu bằng "không bắt đầu", ý của bạn là "pre-alpha", thì có. Unladen Swallow được chấp thuận để được tích hợp với CPython, và không có rào cản đáng kể nào xảy ra, khi công việc liên quan được thực hiện. –

+1

Cộng đồng nhà phát triển dường như không có nhiều nhiệt tình để theo dõi trên Unladen Swallow cho Python 3. Có lẽ họ dựa vào sự hỗ trợ của Google về công việc đó, nhưng từ danh sách gửi thư có vẻ như Google đã chuyển những nhà phát triển này sang công việc ưu tiên cao hơn cho Google. –

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