Python 2 sẽ tự động đặt kiểu dựa trên kích thước của giá trị. Bạn có thể tìm thấy hướng dẫn về giá trị tối đa bên dưới.
Giá trị tối đa của Int mặc định trong Python 2 là 65535, bất kỳ giá trị nào ở trên sẽ dài
Ví dụ:
>> print type(65535)
<type 'int'>
>>> print type(65536*65536)
<type 'long'>
Trong Python 3, kiểu dữ liệu dài đã bị loại bỏ 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ụ:
- 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'
Giá trị tối thiểu / tối đa của mỗi 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 Int của bạn vượt quá giới hạn đã đề cập ở trên, python sẽ tự động thay đổi loại của nó và phân bổ thêm bộ nhớ để xử lý sự gia tăng giá trị tối thiểu / tối đa này. Trong Python 2, nó sẽ chuyển đổi thành 'long', bây giờ 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 Int sẽ là 2147483647 theo mặc định. Nếu giá trị từ 2147483648 trở lên được chỉ định, 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à cấp phát bộ nhớ của nó. Lưu ý: Trong Python 3, sử dụng phương thức type () tích hợp sẽ luôn trả về <class 'int'>
bất kể kích thước Int bạn đang sử dụng.