【Python基础篇】【5.数据类型 - 整型 int 】二进制、八进制、十六进制,进制转换,超详细

Python数据类型认识

数据类型整型 【int】整数的不同进制十进制二进制八进制十六进制

整型的进制转换整型数字分隔符整型所占的内存大小

数据类型

数据无处不在,数字、文本信息等都是数据类型,在python中需要一些特殊符号来表示这些数据,让每一个数据都能分配到属于自己的内存空间。

整型 【int】

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个字节