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