数据无处不在,数字、文本信息等都是数据类型,在python中需要一些特殊符号来表示这些数据,让每一个数据都能分配到属于自己的内存空间。
- Python 整型专门用来表示整数。 Python 整型支持四种形式,即十进制形式、二进制形式、八进制形式和十六进制形式。
- 整数是一种基本的数据类型,用于表示整数值。整数类型在 Python 中具有重要的作用,可用于各种计算和数据处理场景。
Python 最常见的整数就是十进制形式的整数。在使用十进制表示整数值时,不能以 0(零)作为十进制数的开头(数值是 0 除外)。
# 定义十进制正整数
foo = 256
print(foo) # 256
# 定义十进制负整数
bar = -128
print(bar) # -128
首先,定义了一个整型 变量 为 foo,并给其赋值为正整数 256。接着,再定义了一个整型变量为 bar,并给其赋值为负整数 -128。
二进制数只能由 0 和 1 组成。二进制数以 0b 或 0B 开头。
# 二进制
bin1 = 0b101
print('bin1Value: ', bin1) # bin1Value: 5
bin2 = 0B110
print('bin2Value: ', bin2) # bin1Value: 6
# 使用前缀 0b 定义二进制数
foo = 0b1000111
print(foo) # 71
# 使用前缀 0B 定义二进制数
bar = 0B010110110
print(bar) # 182
首先,定义了一个前缀为 0b 的二进制整型变量为 foo。接着,再次定义了一个前缀为 0B 的二进制整型变量为 bar。
八进制整数只能由 0~7 组成。八进制数以 0o 或 0O 开头(第一个字母是零,第二个字母是大写或小写的 O)。需要注意的是,在 Python 2.x 中,八进制数值还可以直接以 0(零)开头。
# 八进制
oct1 = 0o26
print('oct1Value: ', oct1) # oct1Value: 22
oct2 = 0O41
print('oct2Value: ', oct2) # oct2Value: 33
# 使用前缀 0o 定义八进制数
foo = 0o1652701
print(foo) # 480705
# 使用前缀 0B 定义八进制数
bar = 0O1657430
print(bar) # 483096
首先,定义了一个前缀为 0o 的八进制整型变量为 foo。接着,再次定义了一个前缀为 0O 的八进制整型变量为 bar。
十六进制数由 0~9 以及 A~F(或 a~f)组成。十六进制数以 0x 或 0X 开头。
# 使用前缀 0x 定义十六进制数
foo = 0x16ADC9
print(foo) # 1486281
# 使用前缀 0X 定义十六进制数
bar = 0XDB80A
print(bar) # 899082
# 十六进制
hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1) # hex1Value: 69
print("hex2Value: ", hex2) # hex2Value: 1199
bin()
- 十进制转换二进制
oct()
- 十进制转换八进制
hex()
- 十进制转换十六进制
int()
- 其他进制转换为十进制,也可其他数据类型转换为整数类型
a = 100 # 十进制
b = 0b1100100 # 二进制的100
c = 0o144 # 八进制的100
d = 0x64 # 十六进制的100
'''十进制转换为其他进制,转换后的数据类型为字符串类型'''
print(bin(a)) # 十进制转二进制 0b1100100
print(oct(a)) # 十进制转八进制 0o144
print(hex(a)) # 十进制转十六进制 0x64
print(type(bin(a))) # 查看数据类型
'''其他进制转换为十进制,int()中的第一个值必须为字符串'''
print(int('0b1100100', 2)) # 二进制转换十进制 100
print(int('0o144', 8)) # 八进制转换十进制 100
print(int('0x64', 16)) # 十六进制转换十进制 100
print(type(int('0b1100100', 2))) # 查看数据类型
为了提高数字的的可读性,Python 3.x 允许使用下划线_作为数字(包括整数和小数)的分隔符。通常每隔三个数字添加一个下划线,类似于英文数字中的逗号。下划线不会影响数字本身的值。
'''【实例】使用下划线书写数字'''
click = 1_301_547
distance = 384_000_000
print("Python教程阅读量:", click) # Python教程阅读量: 1301547
print("地球和月球的距离:", distance) # 地球和月球的距离: 384000000
python中可以用sys.getsizeof(object)
来获取对象所占内存的大小。
import sys
# 内存大小
print(sys.getsizeof(0)) # 28个字节
print(sys.getsizeof(1)) # 28个字节
print(sys.getsizeof(999999999)) # 28个字节
print(sys.getsizeof(1000000000)) # 28个字节
print(sys.getsizeof(1210101010)) # 32个字节