Hướng dẫn how do you insert a long int in python? - làm thế nào để bạn chèn một int dài trong python?

Tác giả: Moshe Zadka, Guido Van Rossumstatus: FinalType: Tiêu chuẩn theo dõi: 11-Mar-2001python-Vers:Moshe Zadka, Guido van RossumStatus:FinalType:Standards TrackCreated:11-Mar-2001Python-Version:2.2Post-History:16-Mar-2001, 14-Aug-2001, 23-Aug-2001
Mục lục
  • 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

  1. Nghĩa đen

    union {
        long i;
        struct {
            unsigned long length;
            digit digits[1];
        } bignum;
    };
    

    Chức năng tích hợp sẵn

  2. 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 khi
    import 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ô -đun
    import 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 

Bài Viết Liên Quan

Chủ Đề