【Python基础篇】【5.数据类型 - 整型 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)))  # 查看数据类型  <class 'str'>

'''其他进制转换为十进制,int()中的第一个值必须为字符串'''
print(int('0b1100100', 2))  # 二进制转换十进制 100
print(int('0o144', 8))  # 八进制转换十进制 100
print(int('0x64', 16))  # 十六进制转换十进制 100
print(type(int('0b1100100', 2)))  # 查看数据类型 <class 'int'>

整型数字分隔符

为了提高数字的的可读性,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个字节
  • 23
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My.ICBM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值