2008-10-16 42 views
8

Python 3.0 đang trong giai đoạn thử nghiệm với bản phát hành cuối cùng sắp ra mắt. Rõ ràng nó sẽ mất một số thời gian đáng kể cho việc áp dụng chung và cho nó để cuối cùng thay thế 2.x.Hướng dẫn cho Python - Tôi có nên sử dụng phiên bản 2.x hoặc 3.0 không?

Tôi đang viết một hướng dẫn về các khía cạnh nhất định của lập trình Python. Tôi tự hỏi nếu tôi nên làm điều đó trong Python 2.x hoặc 3.0? (không phải sự khác biệt đó là rất lớn)

hướng dẫn 2.x có thể hữu ích hơn bây giờ, nhưng sẽ rất tuyệt khi bắt đầu tạo các hướng dẫn 3.0.

có ai có suy nghĩ không?

(tất nhiên tôi có thể làm cả hai, nhưng tôi muốn làm cái này hay cái khác)

+0

thay thế thẻ '2to3' bằng 'python2.x' và' python3.0' –

+0

Bản phát hành 3.1 đã hết! – Juergen

Trả lời

14

Bắt đầu với 2.x. Hầu hết các thư viện hiện có sẽ có trên 2.x trong một thời gian dài. Năm ngoái, Guido himself said that it would be "two years" cho đến khi bạn cần học 3.0; vẫn còn một năm nữa. Cá nhân, tôi nghĩ rằng nó sẽ lâu hơn. Người viết mã trên 2.x có thể tìm hiểu cách sử dụng công cụ 2to3 và có mã hoạt động trên cả hai phiên bản. Không có 3to2, vì vậy mã được viết cho python 3 ít đáng kể hơn.

Thats không đề cập đến mức độ đáng thất vọng của học sinh là python 3 chưa được cài đặt trên máy tính Linux của họ ("/usr/bin/python" sẽ là python 2.x trong 5 năm tới, ít nhất), không có django cho python 3, không có wxwindows cho python 3, không có GTK cho python 3, không Twisted cho python 3, không PIL cho python 3 ... sức mạnh thực sự của Python luôn ở trong bộ sưu tập rộng lớn của thư viện. là rất ít thư viện cho python 3 ngay bây giờ.

Nếu hướng dẫn của bạn được viết tốt, bạn có thể dễ dàng cập nhật nó thành python 2.6, 2.7 và cuối cùng là python 3.

+0

cảm ơn .. điểm rất tốt để xem xét. –

+0

khi django, pyside và chạy xoắn trên Python 3.2.1 - chuyển đổi! –

+0

"Hai năm", eh? – Veedrac

0

Nó phụ thuộc vào khán giả của bạn. Nếu đó là một đối tượng chung, và bạn có kế hoạch để lại nó được đăng trong một thời gian dài, tôi muốn đề nghị mong đợi và đi với 3.0. Mặt khác, nếu nó dành cho một dự án hoặc một nhóm sẽ hoạt động trong tương lai gần, Python 2 có thể có ý nghĩa hơn.

11

Van Rossum (tác giả của python) giải thích rằng "nếu bạn đang bắt đầu một điều hoàn toàn mới, bạn nên sử dụng 3.0". Vì vậy, hầu hết mọi người tìm cách để bắt đầu thậm chí BẮT ĐẦU với 3.0. Nó sẽ hữu ích đặc biệt là vì có lẽ rất ít ra khỏi đó ngay bây giờ.

các article

+0

Ông được gọi là "van Rossum" chứ không phải "von". Và bạn nên bắt đầu câu với số vốn V. – hcs42

+0

Van Rossum cũng nói rằng ít nhất là một năm nữa trước khi bạn phải học 3.0: http://www.artima.com/weblogs/viewpost.jsp?thread=211200 – Glyph

2

Python 2.x đã đủ ra nhiều thời gian để xây dựng khá một vài hướng dẫn đã có, nhưng 3k có nguồn tài nguyên ít hơn nhiều có sẵn. Một số nội dung cấp 3k giới thiệu có thể thấy mục đích sử dụng chung hơn. Vì vậy, trừ khi bạn đang điều chỉnh điều này thành một miền phụ cụ thể mà thiếu bất kỳ tài nguyên python nào, 3k sẽ được sử dụng nhiều hơn.

0

Sự khác biệt đủ nhỏ để thực sự không quan trọng lắm.

+0

lớp lót sẽ không, nhưng đối với người mới bắt đầu, có sự khác biệt lớn giữa "in" hello world "" và "print (" hello world ")" – helloandre

+0

Hmm, tôi thực sự muốn đọc nghiên cứu được thiết lập cái đó. Bạn có thể chỉ cho tôi vào nó? –

+0

Alex, tôi đồng ý với bạn. Sự khác biệt có thể có ý nghĩa (nếu đơn giản) cho việc quay trở lại các dự án đã được thiết lập, nhưng chúng đủ nhỏ nếu bạn biết một phiên bản tốt, bạn có thể nhận được phiên bản khác trong vài phút. Vì vậy, nó không quan trọng nhiều, nhưng 3.0 là tương lai, vì vậy tôi nói tìm hiểu nó. –

2

Tìm hiểu Python 3.0, như truyền nhiễm gợi ý.

Python 2.x không phải là rất khác nhau, có vẻ như có rất nhiều FUD về sự khác biệt khá nhỏ giữa chúng. Chắc chắn, sự khác biệt là đủ lớn mà hầu hết các chương trình sẽ cần phải được sửa đổi, nhưng hầu hết tất cả sửa đổi rất đơn giản (như thay đổi print tuyên bố thành print chức năng).

Thực tế, Python 2.6 có thể tùy ý kích hoạt tất cả các tính năng cú pháp mới của Python 3.0. Đó là một quá trình chuyển đổi rất tốt.

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