- trừu tượng
- Cơ sở lý luận
- Thực hiện
- Không tương thích
- Nghĩa đen
- Chức năng tích hợp sẵn
- C API
- Chuyển đổi
- Tràn
- Thí dụ
- Các vấn đề đã giải quyết
- Thực hiện
- Không tương thích
trừu tượng
Cơ sở lý luận
Cơ sở lý luận
Thực hiện
Không tương thích
Nghĩa đen
Chức năng tích hợp sẵn
Thực hiện
Không tương thích
- Nghĩa đen
union { long i; struct { unsigned long length; digit digits[1]; } bignum; };
Chức năng tích hợp sẵn
- C API
if isinstance[i, integer]: ...
Chuyển đổi
Không tương thích
Nghĩa đen
- Chức năng tích hợp sẵn
- C API
- Chuyển đổi
- Tràn
- Hiện tại,
import warnings warnings.filterwarnings["default", "", OverflowWarning]
1 của một int dài trả về một chuỗi kết thúc bằng L trong khiimport warnings warnings.filterwarnings["default", "", OverflowWarning]
1 của một int ngắn không có. L sẽ bị rơi; Nhưng không phải trước Python 3.0. - Hiện tại, một hoạt động với các toán hạng dài sẽ không bao giờ trả lại int ngắn. Điều này có thể thay đổi, vì nó cho phép một số tối ưu hóa. [Chưa có thay đổi nào được thực hiện trong lĩnh vực này và không có thay đổi nào được lên kế hoạch.]
- Biểu thức
import warnings warnings.filterwarnings["default", "", OverflowWarning]
3 phụ thuộc vào x ngắn hay dài. Vì việc thực hiện thay thế 2 được chọn, sự khác biệt này sẽ vẫn còn. . - INT dài và ngắn được xử lý khác nhau bởi mô -đun
import warnings warnings.filterwarnings["default", "", OverflowWarning]
4 và bởi các mô -đunimport warnings warnings.filterwarnings["default", "", OverflowWarning]
5 vàimport warnings warnings.filterwarnings["default", "", OverflowWarning]
6. Sự khác biệt này sẽ vẫn còn [ít nhất là cho đến khi Python 3.0]. - Ints ngắn với các giá trị nhỏ [thường bao gồm từ -1 đến 99] được thực tập -bất cứ khi nào một kết quả có giá trị như vậy, một int ngắn hiện có với cùng một giá trị được trả về. Điều này không được thực hiện cho các INT dài với cùng một giá trị. Sự khác biệt này sẽ vẫn còn. . .]
Nghĩa đen
Một dấu hiệu l ở cuối một số nguyên theo nghĩa đen sẽ ngừng có bất kỳ ý nghĩa nào, và cuối cùng sẽ trở thành bất hợp pháp. Trình biên dịch sẽ chọn loại thích hợp chỉ dựa trên giá trị. .
Chức năng tích hợp sẵn
Hàm
import warnings warnings.filterwarnings["default", "", OverflowWarning]8 sẽ trả về một int ngắn hoặc dài tùy thuộc vào giá trị đối số. Trong Python 3.0, hàm
import warnings warnings.filterwarnings["default", "", OverflowWarning]9 sẽ gọi hàm
import warnings warnings.filterwarnings["default", "", OverflowWarning]8; Trước đó, nó sẽ tiếp tục buộc kết quả là một int dài, nhưng nếu không thì hoạt động giống như
import warnings warnings.filterwarnings["default", "", OverflowWarning]8. Tên tích hợp
long
sẽ vẫn còn trong ngôn ngữ để thể hiện loại thực hiện dài [trừ khi nó bị xóa hoàn toàn trong Python 3.0], nhưng sử dụng hàm import warnings warnings.filterwarnings["default", "", OverflowWarning]8 vẫn được khuyến nghị, vì nó sẽ tự động trả về lâu khi cần thiết.
C API
API C vẫn không thay đổi; Mã C vẫn sẽ cần phải nhận thức được sự khác biệt giữa INT ngắn và dài. [API Python 3.0 C có thể sẽ hoàn toàn không tương thích.]
API
def fact[n]: if n