Trăn 2. 7 được phát hành vào tháng 7 năm 2010. Là người cuối cùng trong 2 người. sê-ri x, 2. 7 đã có một thời gian bảo trì kéo dài. Cụ thể là 2. 7 sẽ nhận được hỗ trợ sửa lỗi cho đến ngày 1 tháng 1 năm 2020. Sau lần phát hành cuối cùng, 2. 7 sẽ không nhận được hỗ trợ.
Trăn 3. 0 được phát hành vào tháng 12 năm 2008. Nó được thiết kế để khắc phục các lỗi thiết kế cơ bản trong ngôn ngữ. Những thay đổi cần thiết sẽ phá vỡ khả năng tương thích ngược với 2. x, cần có số phiên bản chính mới
Thay đổi
print
để nó là một hàm tích hợp sẵn, không phải là một câu lệnh. Điều này làm cho việc thay đổi một mô-đun để sử dụng một chức năng in khác dễ dàng hơn, cũng như làm cho cú pháp trở nên đều đặn hơn. Trong Python 2. 6 và 2. 7print[]
có sẵn dưới dạng nội trang nhưng bị ẩn bởi cú pháp câu lệnh in, cú pháp này có thể bị vô hiệu hóa bằng cách nhậpfrom __future__ import print_function
ở đầu tệp- Loại bỏ hàm
input
của Python 2 và đổi tên hàmraw_input
thànhinput
. Hàminput
của Python 3 hoạt động giống như hàmraw_input
của Python 2, trong đó đầu vào luôn được trả về dưới dạng một chuỗi thay vì được đánh giá dưới dạng một biểu thức - Di chuyển
reduce
[nhưng không phảimap
hoặcprint[]
0] ra khỏi không gian tên tích hợp và vàoprint[]
1 [lý do là các hoạt động sử dụng giảm được thể hiện rõ ràng hơn bằng cách sử dụng vòng lặp tích lũy] - Thêm hỗ trợ cho các chú thích chức năng tùy chọn có thể được sử dụng cho các khai báo kiểu không chính thức hoặc các mục đích khác
- Thống nhất các loại
print[]
2/print[]
3, đại diện cho văn bản và giới thiệu một loạiprint[]
4 bất biến riêng biệt; - Xóa các tính năng tương thích ngược, bao gồm các lớp kiểu cũ, ngoại lệ chuỗi và nhập tương đối ngầm định
- Thay đổi trong chức năng chia số nguyên. trong Python 2,
print[]
6 làprint[]
7; . [Trong cả Python 2 [2. 2 trở đi] và Python 3,from __future__ import print_function
0 làprint[]
7] - map[function, iterable] thay đổi từ python2. 7 đến python3. Trong trăn2. 7 bản đồ trả về một danh sách với kết quả của việc áp dụng chức năng trên iterable, trong python3 trả về một đối tượng bản đồ, để truy xuất các giá trị, chúng ta có thể sử dụng list[map[function, iterable]
Các bản phát hành tiếp theo trong Python 3. x đã bao gồm các tính năng mới bổ sung, quan trọng; . sê-ri x
Có thể viết mã hoạt động cho cả hai phiên bản chính của Python và đó là chiến lược được đề xuất để có khả năng tương thích và linh hoạt tối đa. Xem trang sau để biết danh sách đầy đủ các thành ngữ tương thích. Cách dễ nhất để đảm bảo mã python 2 của bạn có thể chạy trên python 3 là sử dụng các công cụ chuyển đổi tự động như futurize. Ngay cả khi chúng không hoàn hảo trong mọi trường hợp, chúng vẫn nên quan tâm đến việc điều chỉnh phần lớn cơ sở mã của bạn mà không có quá nhiều lỗi được đưa vào. Futurize cũng sẽ tạo mã tương thích với cả hai phiên bản. Xem hướng dẫn bắt đầu nhanh để biết cách sử dụng công cụ này
Ngoài ra, bạn có thể muốn xem qua các công cụ và tài nguyên khác, chẳng hạn như
- 2 đến 3. nó đi kèm với bản phân phối Python và nó sẽ cố gắng chuyển đổi 2. x thành 3, nhưng nó có thể không tạo mã tương thích với cả hai
- Tôi có thể sử dụng Python 3 không. Tập lệnh này nhận một tập hợp các phụ thuộc và sau đó tìm ra cái nào trong số chúng đang cản trở bạn chuyển sang Python 3
- Sáu. thư viện tương thích Python 2 và 3. Nó cung cấp các chức năng tiện ích để làm mịn sự khác biệt giữa các phiên bản Python với mục tiêu viết mã Python tương thích trên cả hai phiên bản Python. Xem thêm chín, lộn ngược sáu. Bạn viết mã của mình bằng cách sử dụng các thành ngữ Python 3 – càng nhiều càng tốt – và đó là “phiên bản” Python 2 đã được vá lỗi
- Hỗ trợ Python3. Hướng dẫn chuyên sâu là Sách điện tử mã nguồn mở, miễn phí hướng dẫn bạn về quy trình bổ sung hỗ trợ Python 3, từ việc chọn chiến lược đến giải quyết các vấn đề phân phối của bạn. Sử dụng nhiều ví dụ mã, nó hướng dẫn bạn vượt qua các rào cản và cho bạn thấy các tính năng mới của Python
Cả hai mô-đun python và python3 có thể được tải cùng một lúc
Mô-đun Python3 KHÔNG được tải theo mặc định, vì vậy đừng quên tải nó trước khi chạy tập lệnh của bạn
Các phiên bản mới nhất của các gói và thư viện ECMWF hiện hỗ trợ cả python 2 và 3
Khi chạy trên nền tảng ECMWF, tất cả các thư viện và gói phần mềm ECMWF được cài đặt gần đây hiện có thể được sử dụng với python 2. 7 và 3. 6. Để làm việc với python 3 mới, bạn nên
Sau đó, bạn có thể chạy tập lệnh python của mình bằng cách
hoặc chỉnh sửa dòng đầu tiên của tập lệnh, nếu bạn chạy tập lệnh đó dưới dạng tệp thực thi
Vì lý do bền vững và khả năng bảo trì, một số mô-đun bổ sung có sẵn trong Python 2 có thể không được cài đặt trong Python 3. Nếu bạn cần một mô-đun bị thiếu, vui lòng xem xét liệu bạn có thể sử dụng nó thông qua môi trường ảo không. Điều này đặc biệt được khuyến nghị nếu mô-đun đang được đánh giá hoặc thử nghiệm hoặc nếu mô-đun đó sẽ không được sử dụng rộng rãi tại trung tâm. Nếu nghi ngờ, vui lòng liên hệ bằng Cổng hỗ trợ ECMWF tại https. //ủng hộ. ecmwf. int