数字类型
关于删除数字对象
按照Python 的法则, 你无法真正删除一个数值对象, 你仅仅是不再使用它而已。如果你实际上想删除一个数值对象的引用, 使用 del 语句
Python支持四种数字类型
整型:通常被称为只是整数或整数,是正或负整数,不带小数点。
长整型:非常长的整型,在数字最后有L,如“51924361L”
浮点数:双精度浮点数,浮点数值通常都有一个小数点和一个可选的后缀e(大写或小写,表示科学计数法)。在e和指数之间可以用正(+)或负(-)表示指数的正负(正数的话可以省略符号)
复数:一个实数和一个虚数的组合构成一个复数。一个复数是一对有序浮点数(x, y)。表示为 x + yj, 其中x 是实数部分,y 是虚数部分。
下面是Python 语言中有关复数的几个概念:
l 虚数不能单独存在,它们总是和一个值为 0.0 的实数部分一起来构成一个复数。
l 复数由实数部分和虚数部分构成
l 表示虚数的语法: real+imagj
l 实数部分和虚数部分都是浮点数
l 虚数部分必须有后缀j 或J。
特殊数字类型-- 布尔型:
l 有两个永不改变的值 True 或False。
l 布尔型是整型的子类,但是不能再被继承而生成它的子类。
l 没有__nonzero__()方法的对象的默认值是 True。
l 对于值为零的任何数字或空集(空列表、空元组和空字典等)在Python 中的布尔值都
l 是False。
l 在数学运算中,Boolean 值的True 和False 分别对应于1 和 0。
l 以前返回整数的大部分标准库函数和内建布尔型函数现在返回布尔型。
l True 和False 现在都不是关键字,但是在Python 将来的版本中会是。
算术运算符
Python 支持单目运算符正号(+)和负号(-), 双目运算符, +,-,*,/,%,还有 ** ,
分别表示加法,减法, 乘法, 除法, 取余, 和幂运算。从Python2.2 起,还增加了一种新的整除运算符 // 。
地板除
从Python 2.2 开始, 一个新的运算符 // 已经被增加进来, 以执行地板除: // 除法不
管操作数何种数值类型,总是舍去小数部分,返回数字序列中比真正的商小的最接近的数字。
>>> 1 // 2 # floors result, returns integer # 地板除, 返回整数
0
>>> 1.0 // 2.0 # floors result, returns float # 地板除, 返回浮点数
0.0
>>> -1 // 2 # move left on number line# 返回比 –0.5 小的整数, 也就是 -1
-1
*位运算符(只适用于整数)---这部分不懂
Python 整数支持标准位运算:取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)。Python 这样处理位运算:
- l 负数会被当成正数的 2 进制补码处理。
- l 左移和右移 N 位等同于无溢出检查的2 的N 次幂运算: 2**N。
- l 对长整数来说, 位运算符使用一种经修改的 2 进制补码形式,使得符号位可以无限的向左扩展。
数字类型转换函数
类型int(x):将x转换为一个普通的整数。
类型long(x):将x转换为一个长整数。
类型float(x):转换x为一个浮点数。
类型complex(x):转换x为复数与实部x和虚部为零。
类型complex(x, y): 将x和y转换成一个复数与实数部分x和虚部y。 x和y是数值表达式
类型bool(x):,返回x对象的布尔值
Python执行的数学计算的函数
函数 |
返回(描述) |
abs(x) |
x的绝对值:x和零之间的(正极)的距离。 |
ceil(x) |
x的上限:最小整数不小于x |
cmp(x, y) |
-1 if x < y, 0 if x == y, 或1 if x > y |
exp(x) |
x的指数: ex |
fabs(x) |
x的绝对值 |
floor(x) |
x的地板:最大的整数不大于x |
log(x) |
x的自然对数,对于x> 0时 |
log10(x) |
以10为底的对数,X>0。 |
max(x1, x2,...) |
它最大的参数:值最接近正无穷大 |
min(x1, x2,...) |
它的最小参数:值最接近负无穷大 |
modf(x) |
x的两个项元组的整数和小数部分。这两个元素具有相同的x符号。整数部分返回一个浮点数。 |
pow(num1, num2, mod=1) |
x**y 的值,取 num1 的 num2次方,如果提供 mod参数,则计算结果再对mod进行取余运算 |
round(x [,n]) |
x在小数点四舍五入到n位数字。 Python远离零点决定:round(0.5) 是1.0 而round(0.5) 为-1.0。 |
sqrt(x) |
x的平方根(x>0) |
随机函数和三角函数请参考:http://www.yiibai.com/python/python_numbers.html
关于int(), floor()和round()的比较:
- l 函数 int()直接截去小数部分。(返回值为整数)
- l 函数 floor()得到最接近原数但小于原数的整数。(返回值为浮点数)
- l 函数 round()得到最接近原数的整数。(返回值为浮点数)
- l 的例子用四个正数和四个负数作为这三个函数的参数,将返回结果列在一起做个比较(为了便于比较,我们将int()函数的返回值也转换成了浮点数)。
仅用于整数的函数
hex(num) 将数字转换成十六进制数并以字符串形式返回
oct(num) 将数字转换成八进制数并以字符串形式返回
chr(num) 将ASCII值的数字转换成ASCII字符,范围只能是0 <= num <= 255。
ord(chr) 接受一个 ASCII 或 Unicode 字符(长度为1的字符串),返回相应的ASCII或Unicode 值。
unichr(num) 接受Unicode码值,返回 其对应的Unicode字符。所接受的码值范围依赖于你的Python是构建于UCS‐2还是UCS‐4。