5.1 数字简介

数字提供了标量贮存和直接访问

5.2 整型

5.2.2 标准整型

在大多数32位机器上,标准整数类型的取值范围是-2的31次方到2的32次方-1.python标准整型类型等价于C的长整型。Python也支持八进制或十六进制。八进制以数字‘0’开始,十六进制则以‘0x’或‘0X’开始。

5.2.3 长整型

在一个整型值后面加一个L,表示这个整型是长整型。

5.3 双精度浮点型

浮点型通常有一个小数点和一个可选的后缀e。在e和指数之间可以用+或-表示指数的正负。

>>> 11111111e+111
1.1111111e+118

5.4 复数

num.real:该复数的实部

num.imag:该复数的虚部

num.conjugate():返回该复数的共轭复数

>>> i = 222 + 222j
>>> i.real
222.0
>>> i.imag
222.0
>>> i.conjugate()
(222-222j)
>>>

5.5 操作符

5.5.1 混合模式操作符

当两个操作数类型不一致时,Python会去检查一个操作数是否可以转换为另一类型的操作数。如果可以,转换它并返回转换结果。

不过在确实需要明确指定对某种数据类型进行特殊类型转换的场合,Python提供了coerce内建函数来帮助你实现这种转换。

5.5.3 算数操作符

通过执行from _future_ import division指令,可以做真正的除法运算。

5.5.4 位运算符(只适用于整型)

~ << >> & ^ |

~num 结果为 -(num+1)

>>> ~111
-112
>>> ~-111
110
>>>

5.6 内建函数与工厂函数

5.6.1 标准类型函数

cmp str type

5.6.2 数字类型函数

1. 转换工厂函数

int() long() float() complex()

工厂函数是指这些内建函数都是类对象,当你调用它们时,实际上是创建了一个类实例。

2. 功能函数

abs() 返回给定参数的绝对值

coerce() 函数coerce()为程序员提供了不依赖Python解释器,而是定义两个数值类型转换的方法,返回一个包含类型转换完毕的两个数值元素的元组。

divmod()内建函数把除法和取余运算结合起来,返回一个包含商和余数的元组。

pow() 指数运算

round()函数用于对浮点型进行四舍五入运算。


int()截去小叔部分 floor()最接近原数但是小于原数的整型 round()最接近原数的整型。


>>> abs(-111)
111
>>> coerce(1.0, 1L)
(1.0, 1.0)
>>> divmod(10, 3)
(3, 1)
>>> pow(2, 10)
1024
>>> pow(2, 10, 1000)
24
>>> round(3.5)
4.0

5.6.3 仅用于整型的函数

1. 进制转换函数

oct()和hex() 接受一个整型对象,返回一个对应值的字符串对象。oct() 8进制 hex() 16进制

2. ASCII转换函数

chr()接受一个单字节整型值,返回一个字符串,其值为对应的字符。

ord()接受一个字符,返回其对应的整型值。

unichr()接受Unicode码值,返回其对应的Unicode字符。

>>> oct(255)
'0377'
>>> hex(255)
'0xff'
>>> chr(97)
'a'
>>> ord('A')
65
>>> unichr(97)
u'a'
>>>

5.7 其他数字类型

5.7.1 布尔”数“

布尔型是整型的子类,但是不能在被继承而生成它的子类

没有_nonzero_()方法的对象的默认值是True。

对于值为零的任何数字或空集在Python中的布尔值都是False

在数学运算中,Boolean值的True和False的值对应的分别是1和0

5.8 相关模块

decimal random等等

>>> import random
>>> random.randint(1, 100)
73