数字简介:
# 创建
a_int = 1
a_long = 123L # 加L就称为长整型
a_float = 1.2
a_float = 1.3e-4 # 科学计数法,e或E均可
a_float = 1.3E-4
a_complex = 1.2 + 4.5J
# 删除
del a_int
del a_long, a_float, a_complex
整型:
# 八进制:以0开头
In [87]: 011
Out[87]: 9
# 十六进制:以0x或0X开头
In [88]: 0x12
Out[88]: 18
In [89]: 0X12
Out[89]: 18
# Python的长整型范围相当大,与机器的内存大小有关。
虚数:
a_complex = 1.1 + 2.4J # J 或j 均可
a_complex.real # 取实部值
a_complex.imag # 取虚部值
a_complex.conjugate() # 取其共轭复数
操作符:
类型转换的基本原则:
如果有一个操作数是复数,另一个操作数被转换成复数;
否则,如果有一个操作数是浮点数,另一个操作数被转换成浮点数;
否则,如果有一个操作数是长整型,另一个操作数被转换成长整型;
# coerce 可以手动实现转换
In [120]: coerce(1+2J, 1)
Out[120]: ((1+2j), (1+0j))
In [121]: coerce(1.2, 23)
Out[121]: (1.2, 23.0)
In [122]: coerce(23L, 12)
Out[122]: (23L, 12L)
# 比较运算符
2 < 5 < 9 # 等价于 (2 < 5) and (5 < 9)
2 < 5 < 6 < 1 # 全是and的关系
# 连续比较是and的关系
# 算术操作符
1 / 2 # 输出0
# 真正的除法
from __future__ import division
1 / 2 # 输出0.5
1 // 2 # 输出0,永远是地板除
# 取余,整型取余和浮点数取余计算公式不同
# 位操作符只适用于整型,包括~(取反)、与(&)、或(|)、左移(<<)、右移(>>)
內建函数与工厂函数:
# 标准类型函数
cmp()
str()
type()
# 数字类型函数
int()、int('12', base=16) # 把16进制的字符串转成十进制的int
long()
float()
complex(str)、complex(real, imag=0.0)
bool()
abs()
coerce()
divmod() # 返回商和余数的元组
pow() # 和 ** 作用相同
round() # 四舍五入
round(2.333, 2) # 第2个参数是小数点后指定位数
# 进制转换函数(仅仅适用于整型)
hex() # 十六进制,返回的是字符串
oct() # 八进制,返回的是字符串
bin() # 二进制,返回的是字符串
int('0101', 2) 或 int('0101', base=8) # 二进制转十进制
int('021', 8) 或 int('021', base=8) # 八进制转十进制
int('0x21', 16) 或 int('0x21', base=16) # 十六进制转十进制
# ASCII码转换函数
ord('a')
chr(97)
布尔值的主要概念:
# 举个例子,布尔值为False的都有__nonzero__方法
a = 0
In [171]: a.__nonzero__()
Out[171]: False
数字类型相关模块:
random模块常用函数: