一、int的范围

python2:

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1;
  在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1;

python3:

  理论上长度是无限的(只要内存足够大)

二、python内存机制

在一般情况下当变量被赋值后,内存和变量的关系如下:

特殊情况:

python内的优化机制(不论是2.7还是3.5都有):

-5 ~ 257 之间的数,如果使用第一种赋值方式,那么他们依然属于同一块内存(可以用id查看)

三、源码

  1. class int(object):
  2. """
  3. int(x=0) -> int or long
  4. int(x, base=10) -> int or long
  5.  
  6. Convert a number or string to an integer, or return 0 if no arguments
  7. are given. If x is floating point, the conversion truncates towards zero.
  8. If x is outside the integer range, the function returns a long instead.
  9.  
  10. If x is not a number or if base is given, then x must be a string or
  11. Unicode object representing an integer literal in the given base. The
  12. literal can be preceded by '+' or '-' and be surrounded by whitespace.
  13. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
  14. interpret the base from the string as an integer literal.
  15. >>> int('0b100', base=0)
  16. """
  17. def bit_length(self):
  18. """ 返回表示该数字的时占用的最少位数 """
  19. """
  20. int.bit_length() -> int
  21.  
  22. Number of bits necessary to represent self in binary.
  23. >>> bin(37)
  24. '0b100101'
  25. >>> (37).bit_length()
  26. """
  27. return 0
  28.  
  29. def conjugate(self, *args, **kwargs): # real signature unknown
  30. """ 返回该复数的共轭复数 """
  31. """ Returns self, the complex conjugate of any int. """
  32. pass
  33.  
  34. def __abs__(self):
  35. """ 返回绝对值 """
  36. """ x.__abs__() <==> abs(x) """
  37. pass
  38.  
  39. def __add__(self, y):
  40. """ x.__add__(y) <==> x+y """
  41. pass
  42.  
  43. def __and__(self, y):
  44. """ x.__and__(y) <==> x&y """
  45. pass
  46.  
  47. def __cmp__(self, y):
  48. """ 比较两个数大小 """
  49. """ x.__cmp__(y) <==> cmp(x,y) """
  50. pass
  51.  
  52. def __coerce__(self, y):
  53. """ 强制生成一个元组 """
  54. """ x.__coerce__(y) <==> coerce(x, y) """
  55. pass
  56.  
  57. def __divmod__(self, y):
  58. """ 相除,得到商和余数组成的元组 """
  59. """ x.__divmod__(y) <==> divmod(x, y) """
  60. pass
  61.  
  62. def __div__(self, y):
  63. """ x.__div__(y) <==> x/y """
  64. pass
  65.  
  66. def __float__(self):
  67. """ 转换为浮点类型 """
  68. """ x.__float__() <==> float(x) """
  69. pass
  70.  
  71. def __floordiv__(self, y):
  72. """ x.__floordiv__(y) <==> x//y """
  73. pass
  74.  
  75. def __format__(self, *args, **kwargs): # real signature unknown
  76. pass
  77.  
  78. def __getattribute__(self, name):
  79. """ x.__getattribute__('name') <==> x.name """
  80. pass
  81.  
  82. def __getnewargs__(self, *args, **kwargs): # real signature unknown
  83. """ 内部调用 __new__方法或创建对象时传入参数使用 """
  84. pass
  85.  
  86. def __hash__(self):
  87. """如果对象object为哈希表类型,返回对象object的哈希值。哈希值为整数。在字典查找中,哈希值用于快速比较字典的键。两个数值如果相等,则哈希值也相等。"""
  88. """ x.__hash__() <==> hash(x) """
  89. pass
  90.  
  91. def __hex__(self):
  92. """ 返回当前数的 十六进制 表示 """
  93. """ x.__hex__() <==> hex(x) """
  94. pass
  95.  
  96. def __index__(self):
  97. """ 用于切片,数字无意义 """
  98. """ x[y:z] <==> x[y.__index__():z.__index__()] """
  99. pass
  100.  
  101. def __init__(self, x, base=10): # known special case of int.__init__
  102. """ 构造方法,执行 x = 123 或 x = int(10) 时,自动调用,暂时忽略 """
  103. """
  104. int(x=0) -> int or long
  105. int(x, base=10) -> int or long
  106.  
  107. Convert a number or string to an integer, or return 0 if no arguments
  108. are given. If x is floating point, the conversion truncates towards zero.
  109. If x is outside the integer range, the function returns a long instead.
  110.  
  111. If x is not a number or if base is given, then x must be a string or
  112. Unicode object representing an integer literal in the given base. The
  113. literal can be preceded by '+' or '-' and be surrounded by whitespace.
  114. The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
  115. interpret the base from the string as an integer literal.
  116. >>> int('0b100', base=0)
  117. # (copied from class doc)
  118. """
  119. pass
  120.  
  121. def __int__(self):
  122. """ 转换为整数 """
  123. """ x.__int__() <==> int(x) """
  124. pass
  125.  
  126. def __invert__(self):
  127. """ x.__invert__() <==> ~x """
  128. pass
  129.  
  130. def __long__(self):
  131. """ 转换为长整数 """
  132. """ x.__long__() <==> long(x) """
  133. pass
  134.  
  135. def __lshift__(self, y):
  136. """ x.__lshift__(y) <==> x<<y """
  137. pass
  138.  
  139. def __mod__(self, y):
  140. """ x.__mod__(y) <==> x%y """
  141. pass
  142.  
  143. def __mul__(self, y):
  144. """ x.__mul__(y) <==> x*y """
  145. pass
  146.  
  147. def __neg__(self):
  148. """ x.__neg__() <==> -x """
  149. pass
  150.  
  151. @staticmethod # known case of __new__
  152. def __new__(S, *more):
  153. """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
  154. pass
  155.  
  156. def __nonzero__(self):
  157. """ x.__nonzero__() <==> x != 0 """
  158. pass
  159.  
  160. def __oct__(self):
  161. """ 返回改值的 八进制 表示 """
  162. """ x.__oct__() <==> oct(x) """
  163. pass
  164.  
  165. def __or__(self, y):
  166. """ x.__or__(y) <==> x|y """
  167. pass
  168.  
  169. def __pos__(self):
  170. """ x.__pos__() <==> +x """
  171. pass
  172.  
  173. def __pow__(self, y, z=None):
  174. """ 幂,次方 """
  175. """ x.__pow__(y[, z]) <==> pow(x, y[, z]) """
  176. pass
  177.  
  178. def __radd__(self, y):
  179. """ x.__radd__(y) <==> y+x """
  180. pass
  181.  
  182. def __rand__(self, y):
  183. """ x.__rand__(y) <==> y&x """
  184. pass
  185.  
  186. def __rdivmod__(self, y):
  187. """ x.__rdivmod__(y) <==> divmod(y, x) """
  188. pass
  189.  
  190. def __rdiv__(self, y):
  191. """ x.__rdiv__(y) <==> y/x """
  192. pass
  193.  
  194. def __repr__(self):
  195. """转化为解释器可读取的形式 """
  196. """ x.__repr__() <==> repr(x) """
  197. pass
  198.  
  199. def __str__(self):
  200. """转换为人阅读的形式,如果没有适于人阅读的解释形式的话,则返回解释器课阅读的形式"""
  201. """ x.__str__() <==> str(x) """
  202. pass
  203.  
  204. def __rfloordiv__(self, y):
  205. """ x.__rfloordiv__(y) <==> y//x """
  206. pass
  207.  
  208. def __rlshift__(self, y):
  209. """ x.__rlshift__(y) <==> y<<x """
  210. pass
  211.  
  212. def __rmod__(self, y):
  213. """ x.__rmod__(y) <==> y%x """
  214. pass
  215.  
  216. def __rmul__(self, y):
  217. """ x.__rmul__(y) <==> y*x """
  218. pass
  219.  
  220. def __ror__(self, y):
  221. """ x.__ror__(y) <==> y|x """
  222. pass
  223.  
  224. def __rpow__(self, x, z=None):
  225. """ y.__rpow__(x[, z]) <==> pow(x, y[, z]) """
  226. pass
  227.  
  228. def __rrshift__(self, y):
  229. """ x.__rrshift__(y) <==> y>>x """
  230. pass
  231.  
  232. def __rshift__(self, y):
  233. """ x.__rshift__(y) <==> x>>y """
  234. pass
  235.  
  236. def __rsub__(self, y):
  237. """ x.__rsub__(y) <==> y-x """
  238. pass
  239.  
  240. def __rtruediv__(self, y):
  241. """ x.__rtruediv__(y) <==> y/x """
  242. pass
  243.  
  244. def __rxor__(self, y):
  245. """ x.__rxor__(y) <==> y^x """
  246. pass
  247.  
  248. def __sub__(self, y):
  249. """ x.__sub__(y) <==> x-y """
  250. pass
  251.  
  252. def __truediv__(self, y):
  253. """ x.__truediv__(y) <==> x/y """
  254. pass
  255.  
  256. def __trunc__(self, *args, **kwargs):
  257. """ 返回数值被截取为整形的值,在整形中无意义 """
  258. pass
  259.  
  260. def __xor__(self, y):
  261. """ x.__xor__(y) <==> x^y """
  262. pass
  263.  
  264. denominator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
  265. """ 分母 = 1 """
  266. """the denominator of a rational number in lowest terms"""
  267.  
  268. imag = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
  269. """ 虚数,无意义 """
  270. """the imaginary part of a complex number"""
  271.  
  272. numerator = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
  273. """ 分子 = 数字大小 """
  274. """the numerator of a rational number in lowest terms"""
  275.  
  276. real = property(lambda self: object(), lambda self, v: None, lambda self: None) # default
  277. """ 实属,无意义 """
  278. """the real part of a complex number"""
  279.  
  280. int

int

小知识点:

在python2中:

  1. test = 9 / 2
  2. 输出—— 4
  3.  
  4. from __future__ import division
  5. test = 9 / 2
  6. 输出—— 4.5

而在python3中:

  1. test = 9 / 2
  2. 输出—— 4.5

python基本数据类型——int的更多相关文章

  1. python基本数据类型,int,bool,str

    一丶python基本数据类型 1.int 整数,主要用来进行数学运算. 2.str 字符串,可以保存少量数据并进行相应的操作 3.bool 判断真假.True.False 4.list 存储大量数据, ...

  2. 二: python基础数据类型(int,

    一.什么是数据类型?2018-12-20   20:57:3õ # (3) num = 0 while num < 10: num += 1 if num == 7: num += 1 # 7执 ...

  3. python基础数据类型—int、bool、字符串的常用方法

    1.int int为整型数据,主要用于计算和类型转化(将字符串转为数字) 常用方法 #bit_length()当用二进制表示数字时所用最少位数,如下十进制数12用二进制表示是1100(bin),所以# ...

  4. Python基础数据类型int

    整型int 赋值运算符 a=1 a+=1 #a=a+1 a-=1 #a=a-1 a*=1 #a=a*1 a/=1 #a=a/1 a**=1 #a=a**1 a%=1 #a=a%1 算数运算符 + - ...

  5. 2018-7-30 python基本数据类型

    python基本数据类型 int      整数 str      字符串. 一般不存放大量的数据 bool   布尔值. 用来判断. True, False list      列表.用来存放大量数 ...

  6. python学习第四天基本数据类型 int,string,bool

    python跟其他编程语言一样,拥有基本的数据类型,计算机 只能识别0101,python是解释语言,有其他的解释器 python整型 int a=10 type(a) "int| pyth ...

  7. Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈

     python 的数据类型: 1.int:存放 1,2,3 等数据 ,用于数字的运算 2.bool :True, False 用于判断 3.str:字符串,用来存储少量的数据 4.list : 数组的 ...

  8. python基础与数据类型(int, float, str, list)

    目录 python多版本共存 在cmd窗口进入不同版本的python环境 在pycharm中切换不同的版本 python语法之注释 python变量与常量 变量 变量的本质 变量的命名规范 常量 py ...

  9. python 基本数据类型分析

    在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...

随机推荐

  1. 1297: [SCOI2009]迷路

    1297: [SCOI2009]迷路 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 652  Solved: 442[Submit][Status] ...

  2. PHP-配置方法

    由于php是一个zip文件(非install版),安装较为简单,解压就行.把解压的 php5.2.1-Win32重命名为 php5.并复制到C盘目录下.即安装路径为 c:\php5 1 找到php目录 ...

  3. HttpServletResponse对象介绍

    一.HttpServletResponse对象介绍

  4. HttpURLConnection实现两个服务端的对接

    在企业开发中,很多时候需要用到两个服务端的对接,在java类中进行连接并传递参数,其中的HttpURLConnection是一种轻量化,并且简单的方法! package httptest; impor ...

  5. STL部分的实现

    C++的STL很强大,里面实现很多功能 就平时经常会用到的vector之类的,自己实现一下, 有哪块错误的希望大神给予指点 vector类模板 template<typename T>cl ...

  6. 一个想法照进现实-《IT连》创业项目:关于团队组建

    前言: 从上一篇<三天的风投对接活动内幕分享>归来后,从中领悟了不少内涵. 之后暂停了找钱的想法,这些天也拒绝了不少想要参与众筹的同学. 目前主要精力放在以下三件事: 1:重新规划顶层设计 ...

  7. 【一】Swift 3.0 新浪微博项目实战 -整体框架搭建

    最近要接手swift,所以找了个视频跟着做一下实战项目,在此记录一下过程和心得 框架搭建和目录拆分 关键词:MVVM 架构,桥接文件 桥接文件用于引入OC的头文件,Swift就可以正常使用(宏除外). ...

  8. windows 下编译php扩展库pecl里的扩展memcache

    Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像.视频.文件以及数据库检索的结果等.简单的说就是将数据调用到内 ...

  9. JDBC与ArrayList和hashmao

    JDBC帮助类 package work; import java.beans.Statement;import java.sql.Connection;import java.sql.DriverM ...

  10. 一个关于Python正则表达式的快速使用手册

    一直在纠结自己的博客到底应该写一些什么东西,这几天发现自己的正则用的不是很熟练,于是想要写一篇关于正则表达式的博客,目的就是为了让自己以后要用而又不会的时候不至于像无头苍蝇一样到处乱撞. 有些人在碰到 ...