Python int整数类型的用法(非常详细,新手必看)
整数就是没有小数部分的数字,比如 1、-5、100 等。
在 Python 中,整数类型用 int
表示,它可以表示任意大小的整数,没有上限或者下限(仅受限于计算机内存)。这与其它的编程语言(如 C 或 Java)不同,在其它编程语言里,整数类型通常有固定的大小限制(比如 32 位或 64 位)。这使得 Python 非常适合处理大整数运算,而无需担心溢出的问题。
在 Python 程序中,定义一个整数非常简单,直接赋值即可:
x = 10 y = -5
也可以通过 int() 函数将其它类型的数据转换为整数,比如字符串或浮点数:
a = int("123") # 将字符串 "123" 转换为整数 123 b = int(3.14) # 将浮点数 3.14 转换为整数 3(小数部分被截断)
Python 支持多种进制来表示整数,这在特定场景下(如处理二进制数据或十六进制颜色值)非常有用。下面罗列了常见的几种表示方式:
-
十进制:日常使用的数字,直接写出来即可,比如
42
; -
二进制:以
0b
或0B
开头,后跟 0 和 1,比如0b1010
表示十进制的 10; -
八进制:以
0o
或0O
开头,后跟 0 到 7 的数字,比如0o777
表示十进制的 511; -
十六进制:以
0x
或0X
开头,后跟 0 到 9 及 A 到 F(大小写均可),比如0xFF
表示十进制的 255。
例如:
num1 = 42 # 十进制 num2 = 0b101010 # 二进制 num3 = 0o52 # 八进制 num4 = 0x2A # 十六进制 print(num1) # 输出 42 print(num2) # 输出 42 print(num3) # 输出 42 print(num4) # 输出 42
从运行结果可以看出,无论用哪种进制表示,最终它们在内存中都是同一个整数,输出时默认以十进制显示。
Python int整数的常见操作
Python 提供了丰富的运算符和方法来操作整数,以下是常用的几种:
1) 数学运算
整数支持基本的数学运算,包括加、减、乘、除等,具体说明如下:
加法:+,如 3 + 2 = 5 减法:-,如 5 - 3 = 2 乘法:*,如 4 * 3 = 12 除法:/,如 10 / 3 = 3.333...(结果是浮点数) 整除://,如 10 // 3 = 3(只取整数部分) 取余:%,如 10 % 3 = 1(返回余数) 幂运算:**,如 2 ** 3 = 8(2 的 3 次方)
例如:
a = 10 b = 3 print(a + b) # 输出 13 print(a - b) # 输出 7 print(a * b) # 输出 30 print(a / b) # 输出 3.3333333333333335 print(a // b) # 输出 3 print(a % b) # 输出 1 print(a ** b) # 输出 1000
2) 位运算
整数还可以进行位运算,这在底层开发或优化中非常有用。下表罗列了常见的位运算符:
运算符 | 含义 | 示例 |
---|---|---|
& | 按位与 | 5 & 3 = 1(0101 & 0011 = 0001) |
| | 按位或 | 5 | 3 = 7(0101 | 0011 = 0111) |
^ | 按位异或 | 5 ^ 3 = 6(0101 ^ 0011 = 0110) |
~ | 按位取反 | ~5 = -6(按位取反后加 1) |
<< | 左移 | 5 << 1 = 10(0101 左移 1 位 = 1010) |
>> | 右移 | 5 >> 1 = 2(0101 右移 1 位 = 0010) |
例如:
a = 5 # 二进制 0101 b = 3 # 二进制 0011 print(a & b) # 输出 1 print(a | b) # 输出 7 print(a ^ b) # 输出 6 print(~a) # 输出 -6 print(a << 1) # 输出 10 print(a >> 1) # 输出 2
3) Python 类型转换与检查
在 Python 中,你可以用 int() 函数将其他类型转换为整数,还可以用 type() 函数检查变量的类型。
例如:
x = int("123") # 字符串转整数 y = int(3.99) # 浮点数转整数(截断小数) print(type(x)) # 输出 <class 'int'> print(isinstance(x, int)) # 输出 True
需要注意的是,如果字符串无法转换为整数(比如 "abc"),会抛出 ValueError
异常。
总结
在 Python 程序中,使用 int 整数类型需要注意以下几点:
-
除法结果:Python 的
/
运算总是返回浮点数,即使两个操作数都是整数。如果你想要整数结果,请使用//
; - 大整数运算:Python 的 int 类型没有大小限制,但操作非常大的整数可能会消耗更多内存和计算时间;
- 进制转换:可以用 bin()、oct()、hex() 函数将整数转换为对应的二进制、八进制、十六进制字符串表示。