数字
数字
数字提供了标量贮存和直接访问。它是不可更改类型。
数字对象操作
# !/usr/bin/python
# -*- coding: utf-8 -*-
# __author__: reworld
if __name__ == "__main__":
"""数字对象"""
# 创建数字对象
anInt = 1
aLong = -55L # 注意用大写L
aFloat = 3.1415
aComplex = 1.23 + 4.56j
# 更新数字对象
anInt += 1
# 删除数字对象
del anInt
repr()函数有机会看到"L",str()函数看不到"L"
复数
- 虚数不能单独存在,它总是和一个值为0.0的实数部分一起构成一个复数
- 复数由实数部分和虚数部分构成
- 表示虚数的语法:real+imagj
- 实数部分和虚数部分都是浮点型
- 虚数部分必须有后缀j或J
num.real # 实部
num.imag # 虚部
num.conjugate() # 返回该复数的共轭复数
混合模式操作符
coerce()
- 如果有一个操作数是复数,另一个操作数被转换为复数
- 否则,如果有一个操作数是浮点型,另一个操作数被转换为长整型
- 否则,如果有一个操作数是长整型,则另一个操作数被转换为长整型
- 否则,两者必然都是普通类型,无须类型转换
# __author__: reworld
# from __future__ import division
if __name__ == "__main__":
# 现阶段地板除 未来移除
print(1 / 2) # 0 __future__ 0.5
print( 1 / 2.0) # 0.5
# // 执行地板除 返回比真正商小的最小整数
print( 1 // 2) # 0
print( -1 // 2) # -1
print( 1.0 % 3)
# 浮点数的取余 x - (math.floor(x/y) * y)
print( 4.8 % 3.2)
操作符优先级
从上至下,计算优先级依次降低
# 优先级 **
print(-3 ** 2)
print((-3) ** 2)
print(4**-1)
print(-1-2) # -3
print(0+1j**2) # -1+0j
print(1+1j**2) # 0j
print((1+1j)**2) # 2j
位操作符(只适用于整型)
用于计算存储单位
数值工厂函数
bool(obj) int(obj) long(obj) float(obj) complex(str)
功能函数
# !/usr/bin/python
# -*- coding: utf-8 -*-
# __author__: reworld
if __name__ == "__main__":
# 取绝对值
print(abs(-1))
print(abs(-1+1.0j))
# 1
# 1.41421356237
# 自定义两个数值类型转换
print(coerce(1,2))
print(coerce(1.3, 13L))
print(coerce(1,134L))
print(coerce(1j,134L))
# (1, 2)
# (1.3, 13.0)
# (1L, 134L)
# (1j, (134 + 0j))
# divmod() 返回包含商和余数的元组
print(divmod(1,3))
print(divmod(10,3))
print(divmod(2.5,10))
print(divmod(2+1j,0.5-1j))
# (0, 1)
# (3, 1)
# (0.0, 2.5)
# ((-0 + 0j), (2 + 1j))
# pow() pow(x,y,z) 密码 做取余运算
# With two arguments, equivalent to x**y. With three arguments,
# equivalent to (x**y) % z, but may be more efficient (e.g. for longs).
print(pow(5,2,4)) # 1
# round() 四舍五入 第二个参数精确位数
print(round(3.4999,1))
# 3.5
print(round(-3.5)) # -4.0
print(round(-3.4)) # -3.0
- int()直接截去小数部分,返回整型
- floor() 最接近原数但小于原数的整型 返回值为浮点型
- round() 最接近原数的整型 返回值为浮点型
仅适用整型的内建函数
hex
数字转16进制
oct
数字转8进制
chr
ASCII值转为ASCII字符
ord
接受一个ASCII或unicode字符(长度为1字符串),返回相应的ASCII或unicode值
相关模块
decimal
十进制浮点运算符
array
高效数值数组(字符,整型、浮点型等)
math/cmath
常规数学运算在math模块,复数cmath模块
operator
数字操作符的函数实现
random
多种随机数生成器
常用random
randint()
两个整型参数,返回两者之间的随机整型
randrange()
同range()参数,随机返回range(start,stop,step)其中一项
uniform()
类似randint(),返回二者之间的浮点型(不含范围上限)
random()
类似于uniform, 下限恒等于0,上限恒等于1
choice()
随机返回给定序列的一个元素