Là Python 3.0 tương thích ngược và tại sao?
Python 3.0 thực hiện rất nhiều tính năng rất hữu ích và phá vỡ khả năng tương thích ngược. Nó thực hiện theo mục đích, vì vậy các tính năng tuyệt vời có thể được thực hiện ngay cả khi thực tế mã Python 2.x có thể không hoạt động chính xác theo Python 3.x.
Vì vậy, về cơ bản, Python 3.0 không tương thích ngược với mục đích. Nhờ đó, bạn có thể được hưởng lợi từ một bộ tính năng hoàn toàn mới. Nó thậm chí còn được gọi là "Python 3000" hoặc "Python 3K".Python 3.0 is not backward-compatible on purpose. Thanks to that, you can benefit from a whole new set of features. It is even called "Python 3000" or "Python 3K".
Từ "Có gì mới trong Python 3.0" [có sẵn ở đây]:
Python 3.0, so với 2.6. Python 3.0, còn được gọi là Hồi Python 3000, hay PY3K, là bản phát hành Python không tương thích đầu tiên. Có nhiều thay đổi hơn trong một bản phát hành điển hình và nhiều hơn nữa là quan trọng đối với tất cả người dùng Python. Tuy nhiên, sau khi tiêu hóa các thay đổi, bạn sẽ thấy rằng Python thực sự đã thay đổi tất cả-bởi và lớn, chúng tôi chủ yếu sửa chữa những phiền toái và mụn cóc nổi tiếng, và loại bỏ rất nhiều Cruft cũ.is the first ever intentionally backwards incompatible Python release. There are more changes than in a typical release, and more that are important for all Python users. Nevertheless, after digesting the changes, you’ll find that Python really hasn’t changed all that much – by and large, we’re mostly fixing well-known annoyances and warts, and removing a lot of old cruft.
Python có tính năng mới trong 3.0, phá vỡ khả năng tương thích ngược
Một số tính năng đáng chú ý nhất có thể được coi là khả năng tương thích ngược, nhưng cải thiện ngôn ngữ cùng một lúc, là:
print
hiện là một hàm, không phải là một câu lệnh và sử dụng nó làm câu lệnh sẽ dẫn đến lỗi,- Các chức năng & phương thức khác nhau hiện trả về trình lặp hoặc xem thay vì danh sách, điều này làm cho việc lặp lại thông qua kết quả của chúng hiệu quả hơn [bạn không cần lưu trữ toàn bộ danh sách kết quả trong bộ nhớ],
cmp
Đối số để sắp xếp các hàm nhưsorted[]
vàlist.sort[]
không còn được hỗ trợ và nên được thay thế bằng đối sốkey
,int
hiện giống như Python 2.x'slong
, làm cho việc xử lý số ít phức tạp hơn,- Nhà điều hành
/
hiện là nhà điều hành cho bộ phận thực sự theo mặc định [bạn vẫn có thể sử dụng//
cho phân chia sàn], - Văn bản trong Python 3.x hiện đang unicode theo mặc định,
True
, ____10 vàcmp
1 hiện là những từ dành riêng [vì vậy bạn không thể làmcmp
2,- Thay đổi cách sử dụng của metaclass,
- Các trường hợp ngoại lệ được yêu cầu bắt nguồn từ
cmp
3, phải được nâng lên và bị bắt khác so với trong Python 2.x, - và nhiều thay đổi khác, làm cho Python dễ đọc hơn, nhất quán và rõ ràng,
Ngôn ngữ Python thường không cung cấp khả năng tương thích ngược. Khả năng phá vỡ sự thiếu hiệu quả và khắc phục các lựa chọn thiết kế sai là những lý do chính tại sao Python vẫn còn nạc và hiệu quả trong những thập kỷ qua. Tuy nhiên, tiêu chuẩn PEP 387 thảo luận rằng các vấn đề không tương thích nên được suy nghĩ rõ. Tại sao Python 3 không tương thích ngược? Ví dụ, các quy tắc này không được cố định 100%, hội đồng chỉ đạo có thể cấp các ngoại lệ cho những người đó. Dưới đây là hai trích dẫn liên quan đến chính sách Python, với khả năng tương thích ngược:
Để duy trì liên quan và hữu ích, Python phải phát triển thường xuyên; Một số cải tiến đòi hỏi những thay đổi không tương thích. - Victor Stinner
Tôi không tin rằng cách để Python duy trì sự phù hợp và hữu ích trong 10 năm tới là chấm dứt tất cả sự tiến hóa ngôn ngữ. Ai biết được cảnh quan điện toán sẽ trông như thế nào trong 5 năm, chứ đừng nói đến 10? Một cái gì đó tùy ý như một lệnh cấm 10 năm là [một lần nữa, imho] một bản án tử hình cho ngôn ngữ. - Barry Warsaw
Tóm lại: Chính sách cho phiên bản Python tương thích ngược là nên tránh nếu có thể nhưng không được đảm bảo.: the policy for Python version backward compatibility is that it should be avoided if possible but is not guaranteed.
Trong khi làm việc như một nhà nghiên cứu trong các hệ thống phân tán, Tiến sĩ Christian Mayer đã tìm thấy tình yêu của mình đối với việc dạy các sinh viên khoa học máy tính.
Để giúp học sinh đạt được thành công cao hơn của Python, ông đã thành lập trang web giáo dục chương trình Finxter.com. Ông là tác giả của cuốn sách lập trình phổ biến Python Oneer [Nostarch 2020], đồng tác giả của loạt sách Break Break Python, những cuốn sách tự xuất bản, người đam mê khoa học máy tính, freelancer và chủ sở hữu của một trong 10 blog Python lớn nhất trên toàn thế giới.
Niềm đam mê của ông là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ tăng cường các kỹ năng của họ. Bạn có thể tham gia học viện email miễn phí của anh ấy ở đây.