数字不可更改
数字的分类
整形
布尔型
Boolean型的有两个值:True / False。这两个值分别对应0和1
标准类型整数
32位机器上是32位整数,64位机器上是64位整数
普通:123, -567
8进制:012
16进制:0x2A
长整形
表示方式:1000L。注:str()返回1000,repr()返回1000L
范围:内存大小为限,可以任意大
与普通整形的结合:在整数运算超出范围之后,会自动把整形转换成长整形
浮点数
名字:float
类型:双精度浮点数,IEEE754
复数
表示法:a + bj
要求:
实部虚部的a和b都是浮点数
虚部不能单独存在。即:0.0 + bj才能表示实部为0的复数
虚部必须有后缀j或者J
内建属性:
eg : com = 3 + 4j
com.real : 实部
com.imag : 虚部
com.conjugate() : 返回共轭复数对象
数字的运算
运算结果的类型
自动提升:
如果有一个操作数是复数,则提升为复数
否则,如果有一个浮点数,提升为浮点数
否则,如果有一个长整形,则提升为长整形
其他:整数
coerce()函数定义了自动提升的规则
运算符(略)
数字相关函数
内建函数
支持cmp(), str(), repr(), type()
工厂函数
bool(obj) 返回obj对象的布尔值,也就是obj.__nonzero__()方法的返回值
int(obj, base=10) 返回一个字符串或数值对象的整数表示, 类似string.atoi();从Python 1.6起,引入了可选的进制参数。
long(obj, base=10) 返回一个字符或数据对象的长整数表示,类似string.atol(), 从Python1.6起,引入了可选的进制参数
float(obj) 返回一个字符串或数据对象的浮点数表示,类似string.atof()
complex(str) or
complex(real, imag=0.0) 返回一个字符串的复数表示,或者根据给定的实数(及一个可选的虚数部分)生成一个复数对象。
功能函数
abs() : 获得绝对值,对于complex,则返回math.sqrt(num.real + num.imag)
coerce() : 定义计算时遇到不同操作数类型的行为
divmod() : 返回(商,余数)
pow() : 与**类似,进行指数运算。此外,可以使用pow(x,y,z),值为pow(x,y) % z,但性能更好。通常用于密码运算
round() : 四舍五入
1. int() : 工厂函数,直接截去小数部分。返回整数。int(3.9) 值为3
2. math.floor() : 得到最接近但是小于原数的整数。返回值为浮点数
3. round() : 四舍五入。返回值为浮点数
仅用于整数的函数
进制转换
1. hex(255) >>>>'0xff'
2. oct(255) >>>>'0377'
注:转换之后结果为字符串
ASCII转换
ord('A') >>>> 65
chr(65) >>>> 'A'
!!!!!!强烈注意:!!!!!!这两个不支持Unicode!!!!
十进制浮点数Decimal
问题:2进制表示浮点数有精度损失
解决:Decimal
例子:TestDecimal.py
其他数学模块
模块 介绍
decimal 十进制浮点运算类 Decimal
array 高效数值数组(字符,整数,浮点数等等)
math/cmath 标准C库数学运算函数。常规数学运算在match模块,复数运算在cmath模块
operator 数字运算符的函数实现。比如 tor.sub(m,n)等价于 m - n
random 多种伪随机数生成器
posted on 2011-06-09 12:17
Antony Lee 阅读(219)
评论(0) 编辑 收藏 所属分类:
Python学习笔记