Hướng dẫn what does the long () function do in python? - hàm long () làm gì trong python?

Sự mô tả¶

Trả về một biểu thức được chuyển đổi thành một số nguyên dài.

Cú pháp

dài ([số, [cơ sở]])) ([number, [base]])

số lượng. Có thể là của chuỗi, int, float hoặc long type.baseoptional. Nếu số được sử dụng phải là một chuỗi.

Ví dụ 1¶

>>> # this example converts an octal, hex and binary integer into a proper integer
>>> long(0o10)
8
>>> long (0x10)
16
>>> long (0b10)
2

Ví dụ 2¶

>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L

Ví dụ 3¶

>>> long(3.14)
3L
>>> long(3.14e10)
31400000000L
>>> long(-3.14)
-3L

Ví dụ 4¶

>>> long('-100')
-100L
>>> long('+100')
100
>>> long('100')
100L

Python 2 sẽ tự động đặt loại dựa trên kích thước của giá trị. Một hướng dẫn về các giá trị tối đa có thể được tìm thấy dưới đây.

Giá trị tối đa của int mặc định trong python 2 là 65535, bất cứ thứ gì trên đó sẽ dài

Ví dụ:

>> print type(65535)

>>> print type(65536*65536)

Trong Python 3, kiểu dữ liệu dài đã bị xóa và tất cả các giá trị số nguyên được xử lý bởi lớp INT. Kích thước mặc định của INT sẽ phụ thuộc vào kiến ​​trúc CPU của bạn.

Ví dụ:

  • Các hệ thống 32 bit Kiểu dữ liệu mặc định cho số nguyên sẽ là 'INT32'
  • Hệ thống 64 bit Kiểu dữ liệu mặc định cho số nguyên sẽ là 'int64'

Các giá trị tối đa/tối đa của từng loại có thể được tìm thấy bên dưới:

  • Int8: [-128.127]
  • Int16: [-32768.32767]
  • Int32: [-2147483648,2147483647]
  • Int64: [-9223372036854775808,9223372036854775807]
  • Int128: [-170141183460469231731687303715884105728,170141183460469231731687303715884105727]
  • UINT8: [0,255]
  • UINT16: [0,65535]
  • UINT32: [0,4294967295]
  • UINT64: [0,18446744073709551615]
  • UINT128: [0,340282366920938463463374607431768211455]

Nếu kích thước của INT của bạn vượt quá các giới hạn được đề cập ở trên, Python sẽ tự động thay đổi loại của nó và phân bổ nhiều bộ nhớ hơn để xử lý sự gia tăng này trong các giá trị tối đa/tối đa. Trong trường hợp trong Python 2, nó sẽ chuyển đổi thành 'Long', giờ đây nó chỉ chuyển đổi thành kích thước tiếp theo của int.

Ví dụ: Nếu bạn đang sử dụng hệ điều hành 32 bit, giá trị tối đa của bạn sẽ là 2147483647 theo mặc định. Nếu giá trị từ 2147483648 trở lên được gán, loại sẽ được thay đổi thành Int64.

Có nhiều cách khác nhau để kiểm tra kích thước của INT và đó là phân bổ bộ nhớ. Lưu ý: Trong Python 3, sử dụng phương thức loại tích hợp () sẽ luôn trả về

>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
1 cho dù bạn đang sử dụng kích thước nào.

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
  • Công việc triển khai cho dòng Python 2.x được hoàn thành; Giai đoạn 1 đã được phát hành với Python 2.2, Giai đoạn 2a với Python 2.3 và Giai đoạn 2b sẽ được phát hành với Python 2.4 (và đã ở CVS).
  • Bản quyền
  • Tài liệu này đã được đặt trong phạm vi công cộng.
  • Long () làm gì trong Python?
  • Nhập dài (x) để chuyển đổi x thành số nguyên dài. Loại float (x) để chuyển đổi x thành số điểm nổi.
  • INT dài trong Python là gì?
  • Thí dụ
  • Các vấn đề đã giải quyết
  • Thực hiện
  • Bản quyền

trừu tượng

Cơ sở lý luận

Cơ sở lý luận

Không tương thích

Nghĩa đen

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

C API

Thực hiện

Công việc triển khai cho dòng Python 2.x được hoàn thành; Giai đoạn 1 đã được phát hành với Python 2.2, Giai đoạn 2a với Python 2.3 và Giai đoạn 2b sẽ được phát hành với Python 2.4 (và đã ở CVS).

  1. Bản quyền

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

    Tài liệu này đã được đặt trong phạm vi công cộng.

  2. Các loại INT ngắn và dài hiện có vẫn còn, nhưng các hoạt động trả về một int dài thay vì tăng
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    7 khi kết quả không thể được biểu diễn dưới dạng int ngắn. Một loại mới,
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    8, có thể được giới thiệu đó là một loại cơ sở trừu tượng, trong đó cả hai loại thực hiện
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    9 và
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    4 đều được phân nhóm. Điều này rất hữu ích để các chương trình có thể kiểm tra số nguyên bằng một bài kiểm tra duy nhất:

    if isinstance(i, integer): ...
    

Sau khi xem xét, kế hoạch thực hiện thứ hai đã được chọn, vì việc thực hiện dễ dàng hơn nhiều, tương thích ngược ở cấp độ A API và ngoài ra có thể được thực hiện một phần như một biện pháp chuyển tiếp.

Không tương thích

Các hoạt động sau đây có (thường là tinh tế) các ngữ nghĩa khác nhau ngắn và cho các số nguyên dài, và cái này hoặc cái kia sẽ phải được thay đổi bằng cách nào đó. Đây được dự định là một danh sách đầy đủ. Nếu bạn biết bất kỳ hoạt động nào khác khác nhau về kết quả tùy thuộc vào việc một int ngắn hay dài có cùng giá trị được thông qua, vui lòng viết tác giả thứ hai.

  • Hiện tại, tất cả các toán tử số học trên Ints ngắn ngoại trừ
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    1 tăng
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    7 nếu kết quả không thể được biểu diễn dưới dạng int ngắn. Điều này sẽ được thay đổi để trả về một int dài thay thế. Các nhà khai thác sau đây có thể tăng
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    7:
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    4,
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    5,
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    6,
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    7,
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    8,
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    9,
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    0 và
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    1. (Bốn cuối cùng chỉ có thể tràn khi giá trị
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    2 có liên quan.)
  • Hiện tại,
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    3 có thể mất bit cho ints ngắn. Điều này sẽ được thay đổi để trả về một int dài chứa tất cả các bit đã thay đổi, nếu trả lại một int ngắn sẽ mất bit (trong đó dấu hiệu thay đổi được coi là một trường hợp đặc biệt của việc mất bit).
  • Hiện tại, nghĩa đen của Hex và OCT cho các INT ngắn có thể chỉ định các giá trị âm; Ví dụ
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    4 trên máy 32 bit. Điều này sẽ được thay đổi thành bằng
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    5 (
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    6).
  • Hiện tại,
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    7,
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    8,
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    9 và
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    0 Các toán tử định dạng chuỗi và các chức năng tích hợp tích hợp
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    1 và
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    2 hoạt động khác nhau cho các số âm: INT ngắn âm được định dạng là C dài C, trong khi các INT dài âm được định dạng với dấu hiệu. Điều này sẽ được thay đổi để sử dụng ngữ nghĩa INT dài trong mọi trường hợp (nhưng không có dấu l hiện đang phân biệt đầu ra của
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    1 và
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    2 cho INT dài). Lưu ý rằng điều này có nghĩa là
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    7 trở thành bí danh cho
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    6. Cuối cùng nó sẽ được gỡ bỏ.
  • Hiện tại,
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    7 của một int dài trả về một chuỗi kết thúc bằng L trong khi
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    7 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
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    9 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
    union {
        long i;
        struct {
            unsigned long length;
            digit digits[1];
        } bignum;
    };
    
    0 và bởi các mô -đun
    union {
        long i;
        struct {
            unsigned long length;
            digit digits[1];
        } bignum;
    };
    
    1 và
    union {
        long i;
        struct {
            unsigned long length;
            digit digits[1];
        } bignum;
    };
    
    2. 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

union {
    long i;
    struct {
        unsigned long length;
        digit digits[1];
    } bignum;
};
4 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
union {
    long i;
    struct {
        unsigned long length;
        digit digits[1];
    } bignum;
};
5 sẽ gọi hàm
union {
    long i;
    struct {
        unsigned long length;
        digit digits[1];
    } bignum;
};
4; 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ư
union {
    long i;
    struct {
        unsigned long length;
        digit digits[1];
    } bignum;
};
4. Tên tích hợp
>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
4 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
union {
    long i;
    struct {
        unsigned long length;
        digit digits[1];
    } bignum;
};
4 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

if isinstance(i, integer): ...
0 đã chấp nhận các INT dài, miễn là chúng nằm trong phạm vi có thể thể hiện bởi C ints hoặc Longs, do đó, các chức năng lấy C int hoặc đối số dài đã giành được phải lo lắng về việc xử lý Python Longs.

Chuyển đổi

Có ba giai đoạn chính để chuyển đổi:

  1. Thay vào đó, các hoạt động Int Int hiện đang tăng
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    7 trả về giá trị INT dài. Đây là sự thay đổi duy nhất trong giai đoạn này. Biết chữ vẫn sẽ phân biệt giữa INT ngắn và dài. Các khác biệt ngữ nghĩa khác được liệt kê ở trên (bao gồm cả hành vi của
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    1) sẽ vẫn còn. Bởi vì giai đoạn này chỉ thay đổi các tình huống hiện đang tăng
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    7, nên người ta cho rằng won won này phá vỡ mã hiện có. . Được phát hành tại thời điểm này, nhưng điều này bị tắt theo mặc định.
  2. Sự khác biệt ngữ nghĩa còn lại được giải quyết. Trong mọi trường hợp, ngữ nghĩa INT dài sẽ thắng thế. Vì điều này sẽ giới thiệu sự không tương thích ngược sẽ phá vỡ một số mã cũ, giai đoạn này có thể yêu cầu một tuyên bố và/hoặc cảnh báo trong tương lai, và giai đoạn chuyển tiếp kéo dài. Trailing L sẽ tiếp tục được sử dụng trong thời gian dài làm đầu vào và bằng
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    7.
    1. Các cảnh báo được kích hoạt về các hoạt động sẽ thay đổi kết quả số của chúng trong Giai đoạn 2B, đặc biệt là
      >> print type(65535)
      
      >>> print type(65536*65536)
      
      
      1 và
      >> print type(65535)
      
      >>> print type(65536*65536)
      
      
      2,
      >>> long('-100')
      -100L
      >>> long('+100')
      100
      >>> long('100')
      100L
      
      7,
      >>> long('-100')
      -100L
      >>> long('+100')
      100
      >>> long('100')
      100L
      
      8,
      >>> long('-100')
      -100L
      >>> long('+100')
      100
      >>> long('100')
      100L
      
      9 và
      >> print type(65535)
      
      >>> print type(65536*65536)
      
      
      0,
      python -Wdefault::OverflowWarning
      
      1 và
      python -Wdefault::OverflowWarning
      
      2 theo phạm vi (bao gồm).
    2. Các ngữ nghĩa mới cho các hoạt động này được thực hiện. Các hoạt động đưa ra kết quả khác nhau so với trước đây sẽ không đưa ra cảnh báo.
  3. Trailing L bị loại bỏ từ
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    7 và thực hiện bất hợp pháp về đầu vào. .

Giai đoạn 1 sẽ được thực hiện trong Python 2.2.

Giai đoạn 2 sẽ được triển khai dần dần, với 2A trong Python 2.3 và 2b trong Python 2.4.

Giai đoạn 3 sẽ được thực hiện trong Python 3.0 (ít nhất hai năm sau khi Python 2.4 được phát hành).

Tràn

Dưới đây là các quy tắc hướng dẫn các cảnh báo được tạo ra trong các tình huống hiện đang tăng

>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
7. Điều này áp dụng cho giai đoạn chuyển tiếp 1. Lưu ý lịch sử: Mặc dù giai đoạn 1 đã được hoàn thành trong Python 2.2 và Giai đoạn 2a trong Python 2.3, không ai nhận thấy rằng việc tràn vẫn được tạo ra trong Python 2.3. Cuối cùng nó đã bị vô hiệu hóa trong Python 2.4. Python Buildin
python -Wdefault::OverflowWarning
9 và C API
python -Werror::OverflowWarning
0 tương ứng, không còn được tạo hoặc sử dụng trong Python 2.4, nhưng sẽ vẫn còn cho trường hợp (không thể) của mã người dùng cho đến Python 2.5.

  • Một danh mục cảnh báo mới được giới thiệu,
    python -Wdefault::OverflowWarning
    
    9. Đây là một tên tích hợp.
  • Nếu kết quả INT tràn, cảnh báo
    python -Wdefault::OverflowWarning
    
    9 được đưa ra, với một đối số tin nhắn cho biết hoạt động, ví dụ: Bổ sung số nguyên. Điều này có thể hoặc không thể gây ra thông báo cảnh báo được hiển thị trên
    python -Werror::OverflowWarning
    
    3 hoặc có thể gây ra một ngoại lệ được nêu ra, tất cả đều nằm dưới sự kiểm soát của dòng lệnh
    python -Werror::OverflowWarning
    
    4 và mô -đun cảnh báo.
  • Cảnh báo
    python -Wdefault::OverflowWarning
    
    9 bị bỏ qua theo mặc định.
  • Cảnh báo
    python -Wdefault::OverflowWarning
    
    9 có thể được kiểm soát như tất cả các cảnh báo, thông qua tùy chọn dòng lệnh
    python -Werror::OverflowWarning
    
    4 hoặc thông qua cuộc gọi
    python -Werror::OverflowWarning
    
    8. Ví dụ:

    python -Wdefault::OverflowWarning
    

    python -Wdefault::OverflowWarning
    
    9 được hiển thị ngay lần đầu tiên nó xảy ra tại một dòng nguồn cụ thể và:

    python -Werror::OverflowWarning
    

    python -Wdefault::OverflowWarning
    
    9 được biến thành một ngoại lệ bất cứ khi nào nó xảy ra. Mã sau cho phép cảnh báo từ bên trong chương trình:

    import warnings
    warnings.filterwarnings("default", "", OverflowWarning)
    

    Xem trang Python

    import warnings
    warnings.filterwarnings("default", "", OverflowWarning)
    
    1 để biết tùy chọn
    python -Werror::OverflowWarning
    
    4 và tài liệu mô -đun
    import warnings
    warnings.filterwarnings("default", "", OverflowWarning)
    
    3 cho
    import warnings
    warnings.filterwarnings("default", "", OverflowWarning)
    
    4.

  • Nếu cảnh báo
    python -Wdefault::OverflowWarning
    
    9 bị biến thành lỗi,
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    7 sẽ được thay thế. Điều này là cần thiết cho khả năng tương thích ngược.
  • Trừ khi cảnh báo được biến thành một ngoại lệ, kết quả của hoạt động (ví dụ:
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    4) được tính toán lại sau khi chuyển đổi các đối số thành các INT dài.

Thí dụ

Nếu bạn chuyển một int dài cho hàm C hoặc hoạt động tích hợp có số nguyên, nó sẽ được xử lý giống như một int ngắn miễn là giá trị phù hợp (nhờ cách thực hiện

import warnings
warnings.filterwarnings("default", "", OverflowWarning)
8). Nếu giá trị dài không phù hợp, nó vẫn sẽ tăng
>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
7. Ví dụ:

>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
0

Đối với

>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
00, điều này hiện đang tăng
>>> # this example uses base argument
>>> long('0101', 2)
5L
>>> long('0101', 8)
65L
>>> long('0101', 16)
257L
>>> long('0101', 10)
101L
7 (trừ khi người dùng nhập vào l có dấu hiệu đầu vào của họ), mặc dù chỉ số được tính toán sẽ luôn ở trong ____102. Với cách tiếp cận mới, mã này sẽ làm đúng: chỉ mục sẽ được tính là int dài, nhưng giá trị của nó sẽ nằm trong phạm vi.

Các vấn đề đã giải quyết

Những vấn đề này, trước đây mở, đã được giải quyết.

  • >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    1 và
    >> print type(65535)
    
    >>> print type(65536*65536)
    
    
    2 áp dụng cho Longs sẽ tiếp tục tạo ra một dấu vết cho đến khi Python 3000. Văn bản gốc ở trên không rõ ràng về điều này, nhưng vì nó đã xảy ra trong Python 2.4 nên nên để nó một mình. Tuyên bố BDFL ở đây:

    https://mail.python.org/pipermail/python-dev/2006-June/065918.html

  • Phải làm gì về
    >>> # this example uses base argument
    >>> long('0101', 2)
    5L
    >>> long('0101', 8)
    65L
    >>> long('0101', 16)
    257L
    >>> long('0101', 10)
    101L
    
    05? Để nó vào, vì nó vẫn có liên quan bất cứ khi nào sự phân biệt giữa các INT ngắn và dài vẫn có liên quan (ví dụ: khi kiểm tra loại giá trị).
  • Chúng ta có nên loại bỏ hoàn toàn
    >>> long('-100')
    -100L
    >>> long('+100')
    100
    >>> long('100')
    100L
    
    7 không? Gỡ bỏ nó.
  • Chúng ta có nên cảnh báo về
    >>> long(3.14)
    3L
    >>> long(3.14e10)
    31400000000L
    >>> long(-3.14)
    -3L
    
    1 không cắt ngắn số nguyên? Đúng.
  • Có nên cảnh báo tràn trên một kích thước tối đa di động? Không.

Thực hiện

Công việc triển khai cho dòng Python 2.x được hoàn thành; Giai đoạn 1 đã được phát hành với Python 2.2, Giai đoạn 2a với Python 2.3 và Giai đoạn 2b sẽ được phát hành với Python 2.4 (và đã ở CVS).

Bản quyền

Tài liệu này đã được đặt trong phạm vi công cộng.

Long () làm gì trong Python?

Nhập dài (x) để chuyển đổi x thành số nguyên dài.Loại float (x) để chuyển đổi x thành số điểm nổi.convert x to a long integer. Type float(x) to convert x to a floating-point number.

INT dài trong Python là gì?

Long: Loại nguyên với chiều dài không giới hạn.Trong Python 2.2 trở lên, INT được tự động biến thành INT dài khi chúng tràn.Được bỏ kể từ Python 3.0, thay vào đó sử dụng loại int.Float: Đây là một số điểm nổi nhị phân.Integer type with unlimited length. In python 2.2 and later, Ints are automatically turned into long ints when they overflow. Dropped since Python 3.0, use int type instead. Float: This is a binary floating point number.

Sự khác biệt giữa int và dài trong Python là gì?

Dài là một loại dữ liệu lớn hơn int.Sự khác biệt giữa INT và Long là int có chiều rộng 32 bit trong khi có chiều rộng dài 64 bit.int is 32 bits in width while long is 64 bits in width.

Python 3 có dài không?

Python 3 không có kiểu dài.does not have a long type.