1. 支持类型
python支持多种数字类型:整形,长整型,布尔型,双精度浮点型,十进制浮点型,复数
注意:给数字对象重新赋值,实际上并没有更新该对象的原始数字(数字对象immutable),只是重新生成一个新的数值对象,并指向它。
复数
>>> aComplex = -3.1-4.2j
>>> aComplex
(-3.1-4.2j)
>>> aComplex.real
-3.1
>>> aComplex.imag
-4.2
>>> aComplex.conjugate()
(-3.1+4.2j)
布尔型
对于值为零的任何数字或空集(空列表、空元组和空字典等)在 Python 中的布尔值都是 False。
2. 运算符
加法
python支持不同的数值类型相加,遵循转换规则:整数转为浮点数,非复数转为复数。
数字类型间的转换是自动的,但可以通过 coerce() 内建函数来明确指定对某种数据进行特殊类型转换
除法
>>> 1 / 2
0
>>> 1.0 / 2.0
0.5 # 传统除法
>>> 1.0 // 2.0
0.0 # 地板除
>>> from __future__ import division # 导入真正除法
>>> 1 / 2
0.5
位运算:取反(~),按位 与(&), 或(|) 及 异或(^) 及左移(<<)和右移(>>)
3. 内建函数与工厂函数
支持标准类型内建函数 cmp(), str() 和 type()
数值类型函数
转换工厂函数
bool(obj)
int(obj, base=10)
long(obj, base=10)
float(obj)
complex(str) or complex(real, imag=0.0)
>>> bool('hello')
True
>>> int('2015')
2015
>>> long(2015)
2015L
>>> float(2015)
2015.0
>>> complex(2015)
(2015+0j)
>>> complex(2015, 5)
(2015+5j)
功能函数
abs(num)
coerce(num1, num2) 将num1和num2转换为同一类型,然后返回一个tuple
divmod(num1, num2) 返回一个tuple(num1/num2, num1%num2)
pow(num1, num2, mod=1) 取num1的num2次方,如果提供mod参数,则再对mod进行取余运算
round(fit, ndig=0) 接受浮点数并进行四舍五入,保留ndig位小数
>>> abs(-1)
1
>>> abs(3+4j)
5.0
>>> coerce(1.5, 3)
(1.5, 3.0)
>>> coerce(3+4j, 5)
((3+4j), (5+0j))
>>> divmod(10, 3)
(3, 1)
>>> divmod(10, 2.5)
(4.0, 0.0)
>>> divmod(3+4j, 1+2j)
((2+0j), (1+0j))
>>> pow(2, 3)
8
>>> pow(3+4j, 2)
(-7+24j)
>>> round(2.4)
2.0
>>> round(-2.4)
-2.0
>>> round(-2.17, 1)
仅用于整数(标准整数、长整数)的函数
进制转换
oct(): 转换为八进制,返回字符串
hex(): 转换为十六进制,返回字符串
>>> oct(8)
'010'
>>> hex(16)
'0x10'
ASCII转换
>>> ord('a')
97
>>> chr(97)
'a'
2015-05-24