一:python 的数字类型:

a)整数和浮点数

b)复数

c)固定精度的十进制数

d)有理分数

e)集合

f)布尔类型

g)无穷的整数精度

h)各种数字内置函数和模块

二:各种数字类型的详解

  1,数字常量:python提供了:整数(正整数和负整数)和浮点数(带有小数部分的数字)。python还允许我们使用十六进制,八进制和二进制常量来表示整数,并且允许整数具有无穷的精度。

  (¥)内置数学工具和扩展:python提供了一系列处理数字对象的工具:

    a)表达式操作符:+,-,*,/,>>(右移),**(幂),& 等

    b)内置数学函数:pow(), abs(), round(), int(), hex(), bin() 等

    c)公用模块:random, math 等

  (¥)操作符的优先级:通常我们不用太注意优先级,可以用多个小括号进行优先级设定,这样不但可以完全忘掉优先级的事情,而且可以增加程序的可读性。

  (¥)混合类型自动升级:python首先将被操作的对象转换成其中最复杂的操作对象的类型,然后再进行数字运算。python划分数字类型复杂度的方法:‘’整数比浮点数简单,浮点数比复数简单‘’。

    (¥)   数字格式的显示问题:交互提示模式下结果的自动回显会比打印语句显示更多的数字位数。如果不想看到更多的位数,可以使用print()。str和repr显示格式:repr默认的交互模式回显,结果好像它们是代码;str(也就是打印语句)转变为一种对用户更加友好的格式。这两个函数都会把任意对象变换成它们的字符串表示。如下所示:

        

 >>> num = 1 / 3.0
>>>repr(num)
'0.3333333333331'
>>> str(num)
'0.333333333'

    (¥)   比较问题:python 支持连续的比较,eg: (1 < 2 < 3) equal (1 < 2 and 2< 3)

三:除法详解:

  a) ‘/’ : 在python3.0以上版本中,/现在总是执行真除法,不管操作数的类型,都返回包含任何余数的一个浮点结果。在python2.6中表示传统除法:eg:10 / 4 == 2

  b) ‘//’ :在python3.0以上版本中,// 执行Floor除法,它截除掉余数并且针对整数操作数返回一个整数,如果有任何一个操作数是浮点类型,则返回一个浮点数。

 >>>
>>> 10 / 4
2.5
>>> 10 // 4
2
>>> 10 / 4.0
2.5
>>> 10 // 4.0
2.0

为了前后版本的  ‘/’  相互兼容,作为替代方法,我们可以使用一个__future__import 在python2.6中打开python3.0的  ‘/’,而不是用浮点转换来强制它:

 c:\python26\python
>>> from__future__import
>>> 10 / 4
2.5

  c) Floor除法VS截断除法:

    ‘//’  操作符通常叫做截断除法,但是更为准确的说法是floor除法,他把结果向下截断到它的下层,即真正结果之下的最近的整数。其直接效果是向下舍入,并不是严格的截断,并且这对负数也有效。trunc():math模块中的函数,用于截断小数,返回一个整数。

>>>import math
>>>math.floor(2.5)
2
>>>math.floor(-2.5)
-3
>>>math.trunc(2.5)
2
>>>math.trunc(-2.5)
-2

四:复数详解:

  复数表示为两个浮点数(实部和虚部)并接在虚部增加了j或者J的后缀。复数允许我们复分解出它的实部和虚部作为属性,并支持一般的数学表达式,并且可以通过标准的cmath模块(复数版的标准数学模块)中的工具进行处理。

五:十六进制,八进制,二进制计数:

  记住,这些常量只是指定一个整数对象的值的一种替代方法。十六进制数(0x40),八进制数(0o377),二进制数(0b1100)。但python默认使用十进制数来显示,但它提供了内置的函数,允许我们把整数转换为其他进制的数字字符串:

>>> oct(64),hex(64),bin(64)
('0o100','0x40','0b1000000')

另一种方式:内置的int()会将一个数字的字符串变换为一个整数,并可以通过定义的第二个参数来确定变换后的数字的进制:

>>> int (''),int ('',8),int('',16),int('',2)  #八进制的100,十六进制的40
(64,64,64,64) #十进制显示
>>> int('0x40',16),int('0b1000000',2)
(64,64)

又一种方式:evla()函数会把字符串作为python代码。因此具有类似的效果(但往往允许很慢,它实际上会作为程序的一个片段编译并运行这个字符串,并且它假设你信任字符串的来源。耍小聪明的用户也许能提交一个删除机器上文件的字符串):

>>> eval(''),eval('0o100'),eval('0x40'),eval('0b1000000')
(64,64,64,64)

最后:能够使用字符串格式化方法调用和表达式将一个整数转换成八进制数和十六进制数的字符串:

>>> '{0:o},{1:x},{2:b}'.format(64,64,64)   #字符串格式方法
'100,40,1000000' >>>'%o,%x' %(64,255) #表达式方法
'100,ff'

三:python 对象类型详解一:数字(上)的更多相关文章

  1. 七:python 对象类型详解三:列表

    一:列表简介: 1,列表可以包含任何种类的对象:数字.字符串甚至集合对象类型.列表都是可变对象,它们都支持在原处修改的操作,可以通过指定的偏移量和分片.列表方法调用.删除语句等方法来实现.关键的作用有 ...

  2. 四:python 对象类型详解一:数字(下)

    一:位操作 除了一般的数学运算,python也支持c语言中的大多数数学表达式.这包括那些把整数当作二进制位串对待的操作.例如,还可以实现位移及布尔操作: >>> x = 1 > ...

  3. 十:python 对象类型详解六:文件

    一:文件 1.简介:内置open 函数会创建一个python 文件对象,可以作为计算机上的一个文件链接.在调用open 之后,可以通过调用返回文件对象的方法来读写相关外部文件.文件对象只是常见文件处理 ...

  4. 六:python 对象类型详解二:字符串(下)

    一:字符串方法: 方法就是与特定对象相关联在一起的函数.从技术的角度来讲,它们是附属于对象的属性,而这些属性不过是些可调用的函数罢了.Python 首先读取对象方法,然后调用它,传递参数.如果一个方法 ...

  5. 九:python 对象类型详解五:元组

    一:元组: 1,简单介绍:元组由简单的对象组构成.元组与列表非常类似,只不过元组不能在原处修改(它们)是不可变的,并且通常写成圆括号中的一系列项.虽然元组不支持任何方法调用,但元组具有列表的大多数属性 ...

  6. 八:python 对象类型详解四:字典

    一:字典通识: 1,字典通过键而不是偏移量来读取: 2,字典是任意对象的无序集合: 3,字典可变长.异构.任意嵌套: 4,字典属于可变映射类型: 5,对象引用表(散列表): 二:实际应用中的字典: 1 ...

  7. 五:python 对象类型详解二:字符串(上)

    一:常量字符串 常量字符串用起来相对简单,也许最复杂的事情就是在代码中有如此多的方法来编写它们. eg:单引号:'spam"m'   , 双引号: “spa'm” , 三引号:‘’‘... ...

  8. ECMAScript---object对象类型详解

    普通对象:由大括号包裹起来的,由零到多个属性名和属性值(键值对)组成的 那什么是属性呢? 属性:描述当前对象特征的,属性名是当前具备这个特征,属性值是这个特征的描述(专业语法,属性名称为键[key], ...

  9. JavaScript中的对象类型详解

    To be finished 摘要 1.什么是对象? 2.引用类型和原始类型 3.对象数据属性拥有的特性(Attributes) 4.如何创建对象 a.直接定义 var mango={color:&q ...

随机推荐

  1. 34. Win7_x64安装oracle11g出现DIM-00019

    Win7_x64安装oracle11g出现如下异常处理方式 DIM-00019:创建服务时出错. O/S-ERROR:(OS 1726)远程过程调用失败. 点击弹出的错误框上的确定按钮后,继续弹出错误 ...

  2. python3的命令行参数传递

    #coding:utf-8#命令行参数传递,例如输入: python <文件名>.py -help#这个结果就会打印help#sys.argv[0]代表"文件名",第一 ...

  3. String StringBuffer和StringBuilder区别及性能

    结论: (1)如果要操作少量的数据用 String: (2)多线程操作字符串缓冲区下操作大量数据 StringBuffer: (3)单线程操作字符串缓冲区下操作大量数据 StringBuilder(推 ...

  4. awk的用法

    awk是什么 awk是一种优良的文本处理工具,同时也是一种脚本语言.awk的三位作者者已将它正式定义为“样式扫描和处理语言”.awk脚本允许您创建简短的程序,这些程序读取输入文件.为数据排序.处理数据 ...

  5. UICollectionView setPrefetchingEnabled

    UICollectionView 开启是否开启预加载,如果开启,cell在没显示的时候就回去调用cellForIndex…方法,如果没开启,cell只有在显示的时候才会去调用cellForIndex… ...

  6. php 分页实现 和 php 大文件上传失败的处理方式

    1. php分页: 要想做php的分页,首先要弄清楚要什么样的分页,关系到哪些参数,参数之间怎么关联: 目标分页效果如下: 分析: 1.主要涉及两个参数:一个是当前输出页面的页码,用变量$p 表示,另 ...

  7. shell编程:基本语法

    要掌握一门语言,就要先掌握它的语法.如同C语言一般,shell也有自己的语法. 变量 按照惯例,Shell变量通常由字母加下划线开头,由任意长度的字母.数字.下划线组成.有两种类型的Shell变量: ...

  8. 【387】Python format 格式化函数

    参考:Python format 格式化函数 # 保留小数点后两位 f'{3.1415926:.2f}' # 带符号保留小数点后两位 f'{3.1415926:+.2f}' f'{-1:+.2f}' ...

  9. oracle归档日志关闭和打开

    查询归档日志状态 方法一 SQL> archive log list; 方法二 SQL> select name,log_mode from V$database; 打开归档日志 orac ...

  10. C++ 关于MFC List Control 控件的使用事项 原创

    1\在开发项目时,使用到了 listcontrol 控件,就一些问题,做一下备注,以备以后使用 (1)  给list项目 删除所有的项目  DeleteAllItems(); (2) 给list项目 ...