来源: “码农不会写诗”公众号
链接:Python基本数据类型之整数int
整数int
Python基本数据之整数(int)即没有小数部分的数,可以是正数、负数或零。
01 基本概念
即没有小数部分的数,可以是正数、负数或零。
在Python中,整数的表示非常简单直观,可以采用不同进制表示。
num10_1 = 1 # 十进制(默认)
num2_1 = 0b1000 # 二进制
num2_2 = 0B1000 # 二进制
num8_1 = 0o173 # 八进制
num8_2 = 0O173 # 八进制
num16_1 = 0x7B # 十六进制
num16_2 = 0X7B # 十六进制
以上除八进制外,其他均为常用进制,需掌握。
02 基本运算
print(3 + 4) # 7, 加
print(5 - 2) # 3, 减
print(6 * 7) # 42, 乘
print(7 / 2) # 3.5, 除
print(7 // 2) # 3, 向下取整除
print(7 % 2) # 1, 取余
print(3 ** 2) # 9, 2次方
print(3 ** 3) # 27, 3次方
print(3 ** 4) # 81, 4次方
print(3 == 4) # False, 相等
print(3 != 4) # True, 不等
print(3 < 3) # False, 小于
print(3 <= 3) # True, 小于等于
print(4 > 4) # False, 大于
print(4 >= 4) # True, 大于等于
# bin(num), 将整数num转换为二进制字符串
print(bin(0b1010 & 0b1100)) # 0b1000, 位与
print(bin(0b1010 | 0b1100)) # 0b1110, 位或
print(bin(0b1010 ^ 0b1100)) # 0b110, 位异或
print(bin(~0b0011)) # -0b100, 位取反
print(bin(0b0001 << 2)) # 0b100, 位左移
print(bin(0b1000 >> 2)) # 0b10, 位右移
print(int(100)) # 100
print(int(10.4)) # 10, 向下取整
print(int(10.9)) # 10, 向下取整
print(abs(-10)) # 10, 绝对值,absolute
print(max(6, 8)) # 8, 最大值, maximum
print(min(6, 8)) # 6, 最小值, minimum
print(pow(6, 2)) # 36, 2次方, square
print(pow(6, 3)) # 216, 3次方
03 拓展1之小整数池(Small Integers Cache)
小整数池(Small Integers Cache)是Python解释器内部的一个机制,其预先分配了一个包含特定范围内整数的缓存,旨在提高整数操作的性能,Python3中为[-5, 256]。
简单来说,当在Python中创建一个整数时,解释器会首先检查这个整数是否已经存在于小整数池中。如果存在,则直接使用池中的整数对象,而不再创建一个新的对象。这个过程也称为整数的重用。
small1 = 100
small2 = 100
# True, small1和small2引用相同的对象
print(small1 is small2)
big1 = 1000
big2 = 1000
# False, big1和big2 引用不同的对象
print(big1 is big2)
04 拓展2之独热编码(One-Hot Encoding)
在机器学习领域,One-Hot Encoding又称一位有效编码或独热编码,其采用N位状态寄存器对N个状态进行编码,每个状态由其独立的状态寄存器位表示,并且任意时刻只有一位有效。
如对性别特性使用独热编码进行数字化,性别有男和女,因此需要两位就可以表示。如男:[0, 1];女:[1, 0]。在内存资源比较紧缺的实际场景可以用二进制表示:男:0b01;女:0b10。
今天的内容就到这里啦,先拜了个拜~