一.数字简介
-
数字类型 : 数字提供了标量驻村和直接访问. 它是不可更改类型,也就是说变更数字的值会生成新的对象. 当然,这个过程无论对程序员还是对用户都是透明的,并不会影响软件的开发方式.
-
如何更新数字对象 : 通过给数字对象(重新)赋值 ,可以"更新" 一个数值对象.我们之所以给更新这两个字加上引号,是因为实际上你并没有更新该对象的原始数值. 这是因为数值对象是不可改变对象. Python的对象模型与常规对象模型有些不同. 你所认为的更新实际上是生成了一个新的数值对象,并得到它的引用 .
-
如何删除数字对象 : 按照Python法则, 你无法真正删除一个数值对象,你仅仅是不再使用它而已. 如果你实际上想删除一个数值对象的引用,使用del 语句. 删除对象的引用之后,你就不能再使用这个引用,除非你给它赋一个新值 . 如果试图使用一个已经被删除的对象引用,会引发NameError异常.
二.整型
- 布尔型 : 该类型取值范围只有两个值,也就是布尔值True 和 布尔值 False .
三.双精度浮点数
- Python中的浮点数类似C语言中的double 类型,是双精度浮点数 . 可以用直接的十进制或科学计数法表示.
四.复数
五.运算符
-
数值类型可进行多种运算,从标准运算符到数值运算符,甚至还有专门的整数运算符 .
-
混合模式运算符 : 当使用 + 进行运算的时候,Python会判断操作数的类型. 例如当一个浮点数和一个整数相加的时候,Python使用数字类型强制转换的方法来解决数字类型不一致的问题,也就是说它会强制将一个操作数转换为同另一个操作数相同的数据类型. 这种操作不是随意进行的,它遵循以下基本规则 : 1. 操作数是同一种数据类型,没必要转换.仅当两个操作数类型不一致时,Python才会去检查一个操作数是否可以转换为另一类型的操作数.如果可以,转换它并返回转换结果.由于某些转换是不可能的,比如将一个附属转换为非附属类型,将一个浮点数转换为整数等等, 因此转换过程必须遵守几个规则. 2. 要将一个整数转换为浮点数,只要在整数后面加个.0就可以了.要将一个非附属转换为复数,则只需要加上一个"0j"的虚数部分.这些类型转换的基本原则是: 整数转换为浮点数,非复数转换为复数.在Python语言参考中这样描述coerce()方法 : a. 如果有一个操作数是复数,另一个操作数被转换为复数. b. 如果有一个操作数是浮点数,另一个操作数被转换为浮点数. c. 两者都是普通整数,无须转换.
-
Python支持单目运算符+ 号和 - 号 ,双目运算符+,-,*,/,% 还有**/
六.其他数字类型
- 布尔"数": 1. 有两个永不改变的值 True 或 False. 2. 布尔型是整型的子类,但是不能再被继承而生成它的子类. 3. 没有__nonzero__()方法的对象的默认值是 True. 4. 对于值为零的任何数字或空集(空列表、空元组和空字典等)在 Python 中的布尔值都是 False. 5. 在数学运算中,Boolean 值的 True 和 False 分别对应于 1 和 0. 6. 以前返回整数的大部分标准库函数和内建布尔型函数现在返回布尔型.
七.相关模块
模块 介绍 decimal 十进制浮点运算类 Decimal array 高效数值数组(字符,整数,浮点数等) math/cmath 标准C库数学运算函数。常规数学运算在match模块,复数运算在cmath模块 operator 数字运算符的函数实现。比如 tor.sub(m,n)等价于 m - n random 多种随机数生成器
核心模块:random 当你的程序需要随机数功能时,random模块就能派上用场.该模块包含多个随机数发生器,它们均以当前的时间戳为随机数种子.这样只要载入这个模块就能随时开始工作.