pin_drop当前位置:知识文库 ❯ 图文

Python整数类型int

整数(Integer)是Python中最基本的数字类型之一,用于表示没有小数部分的数值。Python的整数类型与许多其他编程语言不同,它没有固定的大小限制,可以表示任意大的整数,这得益于Python底层的自动内存管理机制。在Python 3中,int类型统一了Python 2中的intlong类型,成为唯一的整数类型。


整数定义

在Python中,整数可以直接通过字面量定义,无需声明类型:

代码示例

a = 10
b = -25
c = 0

print(type(a))
print(type(b))
print(type(c))

输出:

代码示例

<class 'int'>
<class 'int'>
<class 'int'>

无论是正数、负数还是零,Python都会自动将其识别为int类型。


不同进制表示

Python支持多种进制来表示整数,这在处理底层数据、位运算和颜色编码等场景中非常有用。

二进制(Binary)

0b0B开头,由数字0和1组成:

代码示例

bin_num = 0b1010
print(bin_num)
print(bin(bin_num))

输出:

代码示例

10
0b1010

八进制(Octal)

0o0O开头,由数字0到7组成:

代码示例

oct_num = 0o12
print(oct_num)
print(oct(oct_num))

输出:

代码示例

10
0o12

十进制(Decimal)

即日常使用的数字表示方式,由数字0到9组成,无需前缀:

代码示例

dec_num = 10
print(dec_num)

输出:

代码示例

10

十六进制(Hexadecimal)

0x0X开头,由数字0到9和字母a到f(或A到F)组成:

代码示例

hex_num = 0xA
print(hex_num)
print(hex(hex_num))

输出:

代码示例

10
0xa

大整数支持

Python的整数类型没有溢出问题,可以表示任意大的整数:

代码示例

big_num = 10 ** 100
print(big_num)
print(type(big_num))

输出:

代码示例

10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
<class 'int'>

提示:Python会自动分配足够的内存来存储大整数,无需担心溢出问题,这是Python相比C、Java等语言的一大优势。


整数运算

算术运算

代码示例

print(10 + 3)
print(10 - 3)
print(10 * 3)
print(10 / 3)
print(10 // 3)
print(10 % 3)
print(10 ** 3)

输出:

代码示例

13
7
30
3.3333333333333335
3
1
1000

注意:除法运算/的结果始终是浮点数,即使能整除也是如此。如果需要整数结果,请使用整除运算//

位运算

代码示例

print(0b1010 & 0b1100)
print(0b1010 | 0b1100)
print(0b1010 ^ 0b1100)
print(~0b1010)
print(0b1010 << 2)
print(0b1010 >> 2)

输出:

代码示例

8
14
6
-11
40
2

进制转换函数

Python提供了三个内置函数用于进制转换:

函数 功能 返回值类型 示例 结果
bin() 十进制转二进制 str bin(10) '0b1010'
oct() 十进制转八进制 str oct(10) '0o12'
hex() 十进制转十六进制 str hex(10) '0xa'

此外,使用int()函数可以将其他进制的字符串转换为十进制整数:

代码示例

print(int('1010', 2))
print(int('12', 8))
print(int('A', 16))
print(int('a', 16))

输出:

代码示例

10
10
10
10

进制对比表格

进制 前缀 允许的数字 示例 十进制值
二进制 0b/0B 0, 1 0b1010 10
八进制 0o/0O 0-7 0o12 10
十进制 0-9 10 10
十六进制 0x/0X 0-9, a-f, A-F 0xA 10

代码示例

示例1:进制转换工具

代码示例

def convert_number(num):
    print(f"十进制: {num}")
    print(f"二进制: {bin(num)}")
    print(f"八进制: {oct(num)}")
    print(f"十六进制: {hex(num)}")

convert_number(255)

输出:

代码示例

十进制: 255
二进制: 0b11111111
八进制: 0o377
十六进制: 0xff

示例2:大整数运算

代码示例

a = 2 ** 64
b = 2 ** 64 + 1

print(f"2的64次方: {a}")
print(f"2的64次方加1: {b}")
print(f"它们的差: {b - a}")
print(f"它们的积: {a * b}")

输出:

代码示例

2的64次方: 18446744073709551616
2的64次方加1: 18446744073709551617
它们的差: 1
它们的积: 340282366920938463481821351505477763072

注意事项

  • Python 3中只有int一种整数类型,不再区分intlong

  • 除法运算/始终返回浮点数,即使两个整数能整除。

  • 整除运算//向负无穷方向取整,而非向零取整:-7 // 2的结果是-4而非-3

  • 八进制前缀是0o(数字0加小写字母o),不要误写为0(Python 2的旧语法)。

  • bin()oct()hex()返回的是字符串,不是数字。

  • Python整数没有溢出问题,但大整数运算会消耗更多内存和时间。


小结

本节介绍了Python整数类型的核心知识:

  • Python的int类型可以表示任意大的整数,没有溢出限制

  • 支持二进制(0b)、八进制(0o)、十进制、十六进制(0x)四种进制表示

  • bin()oct()hex()函数用于进制转换

  • int()函数可以将指定进制的字符串转换为十进制整数

  • 整数支持丰富的算术运算和位运算


练习题

练习1

编写一个程序,输入一个十进制整数,分别输出它的二进制、八进制和十六进制表示(不包含前缀)。

提示:可以使用bin()oct()hex()函数后切片去掉前缀,或使用格式化字符串format()

练习2

计算2 ** 1000的结果,并统计该结果的十进制表示中有多少个数字。

提示:将结果转换为字符串后使用len()函数。


常见问题

Python的整数类型有大小限制吗?

Python的int类型没有固定的大小限制,可以表示任意大的整数。Python会自动分配足够的内存来存储大整数,这与C、Java等语言不同。

为什么Python中除法运算/返回的是浮点数?

在Python 3中,除法运算/始终返回浮点数,这是为了保持数学上的精确性。如果需要整数结果,请使用整除运算//。

如何在不同进制之间进行转换?

使用bin()、oct()、hex()函数可以将十进制数转换为二进制、八进制、十六进制字符串;使用int(字符串, 进制)可以将其他进制的字符串转换为十进制整数。

什么是位运算?Python支持哪些位运算?

位运算是直接对整数的二进制位进行操作的运算。Python支持的位运算包括:&(与)、|(或)、^(异或)、~(非)、<<(左移)、>>(右移)。

标签: Python 整数 进制转换 数据类型 位运算 大整数

本文涉及AI创作

内容由AI创作,请仔细甄别

list快速访问

上一篇: Python运算符优先级 下一篇: Python浮点数float详解

poll相关推荐

作者头像 智能小晨 python

Python类型转换详解

发布日期 2026-05-27
全面掌握Python类型转换的核心知识,包括int float str bool等内置函数的用法、隐式转换规则、容器类型之间的转换方法,以及使用try-except安全处理转换异常的实战技巧。通过丰富的代码示例,帮助你写出更健壮的Python代码。
作者头像 智能小晨 python

Python字符串类型详解

发布日期 2026-05-27
全面学习Python字符串类型的核心知识,涵盖单引号双引号三引号定义方式、原始字符串r前缀、转义字符详解、字符串不可变性原理以及Unicode编码支持。
作者头像 智能小晨 python

Python布尔类型详解

发布日期 2026-05-27
深入解析Python布尔类型的核心知识,包括True和False的定义、and or not逻辑运算、短路求值特性、bool()函数用法以及隐式布尔转换规则。通过丰富的代码示例,帮助你掌握Python布尔类型的实际应用,写出更优雅的条件判断代码。
作者头像 智能小晨 python

Python复数类型complex详解

发布日期 2026-05-27
全面介绍Python复数类型complex的使用方法,包括复数定义、实部虚部访问、算术运算、cmath模块函数以及极坐标转换。掌握复数在科学计算和工程领域的应用。