python3内建模块-int类
1、介绍
builtins.py文件中定义了int类,用于处理python中整数数据。
int也是python的基本数据类型之一。
2、类和初始化
class int(object):
def __init__(self, x, base=10):
3、初始化
(1)字面量初始化
- 支持十进制、二进制、八进制和十六进制
# 十进制
# a = 15
# a1 = -15
# a2 = 0
# a3 = +15
# print(a)
# 二进制,以数字0和字母b或B作为前缀
# b = 0b11
# b1 = 0B11
# b2 = -0B11
# print(b2)
# 八进制,以数字0和字母o作为前缀
# c = 0o15
# c1 = 0O15
# c2 = -0o15
# print(c)
# 十六进制,以数字0和字母x作为前缀
# d = 0x1a
# d1 = 0X1A
# d2 = -0x1A
# print(d2)
(2)类初始化
- 支持直接转换整数或其他类型数值,支持对不同进制的字符串进行解析
# int类初始化
# 1)可以是直接传递int类型
e = int(15) # 15
# 2) 可以是非int的数值类型,将保留整数部分
# e1 = int(15.2) # 15
# e2 = int(15.7) # 15
# e3 = int(-15.2) # -15
# e4 = int(-15.7) # -15
# 3) 可以是进制表示的字符串,以及对应的进制.大小写不敏感,但是无法正常解析会报错
# e5 = int("11", 10) # 11
# e6 = int("0b11", 2) # 3
# e7 = int("0o11", 8) # 9
# e8 = int("0x11", 16) # 17
# print(e5)
# print(e6)
# print(e7)
# print(e8)
4、属性
(1)real
- int类型,获取真实数值
- int类型就为其本身
- bool类型继承int类,也具有该属性,True返回1,False返回0
5、方法
(1)to_bytes
- to_bytes方法,返回bytes类型,即int对象存储的字节
- length参数,int类型,表示用几个字节存储。如果小于需要的字节,会报错。大于需要的字节,会用0填充。
- byteorder参数,必须是”big”,否则会报错
- 该方法只能是由值为正数时调用,负数会报错
- 注意,对于部分ascii字符,其不是显示\\x形式,而是显示ascii字符本身
print(int(15).to_bytes(1, "big")) #b'\x0f'
print(int(15).to_bytes(3, "big")) #b'\x00\x00\x0f'
(2)bit_length
- 二进制存储需要的最小字节数
print(int(15).bit_length()) #4
(3)from_bytes
- from_bytes方法,返回int类型,即实际表示的十进制数值
- bytes参数,bytes类型,表示待解析的字节数据
- byteorders参数,可以是little或big,little表示最高字节在右边,big表示最高字节在左边。一般是设置big
- 转换的结果都是正数
print(f.from_bytes(b'\x00\x00\x00\x00\x96', "big") #150