python对数值类int的方法,做了一些优化。如下:
一、关于赋值
1、赋值时,如:a = 123 ,经过了 a ---> int类 ---> int.__init__() 的初始化过程。与 a = int(123) 仅写法不同,创建方法相同。
2、当不同变量的int值相同时,使用同一块内存或硬盘的存址空间,不重复创建。可使用 id(object) 的方法查询当前内存地址。
a = 245 b = 245 #使用id()方法查询当前内存地址 print(id(a)) #结果:1413399264 print(id(b)) #结果:1413399264
二、关于长度
python2.x将整数分为int和long两种类型, int 的长度范围是:32位机:-2**31——2**31;64位机:-2**63——2**63,long不限定大小,可以处理非常大的数,只要内存空间够用即可。
python3.x将int和long合并成统一的int(class),可以处理非常大的数,只要内存空间够用。
a =2**65 print(a) #结果: 36893488147419103232 print(type(a)) #结果: <class 'int'>
python中int类最常用的方法:int.bit_length(),求int数值用二进制表示时的位数。
a =432432
bin_a = bin(a) #求int的二进制形式
print(bin_a) #结果: 0b1101001100100110000
print(type(bin_a)) #结果: <class 'str'>
bit_a = int(bin_a.strip('0b')) #求int的二进制表示
print(bit_a) #结果: 110100110010011
print(a.bit_length()) #结果: 19
浙公网安备 33010602011771号