Python3学习笔记05-数字
Python 数字数据类型用于存储数值
数字类型不能修改,如果改变数字数据类型的值,将重新分配内存空间
以下实例在变量赋值时 Number 对象将被创建:
var1 = 10
var2 = 20
也可以使用del语句删除一些数字对象的引用
del var1,var2
Python 支持三种不同的数值类型:
整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。
有时用十六进制表示整数会更方便 0x表示前缀 0-9,a-f表示10-15
十六进制换算成十进制 个位数+十位数*16+百位数*16^2+千位数*16^3 以此类推
print(0xff00) #15*16*16*16+15*16*16+0+0=61440+3840=65280
浮点型(float) - 浮点型由整数部分与小数部分组成,
浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
print(1.2e5) print(1.2e-4)
复数( (complex)) - 复数由实数部分和虚数部分构成,
可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型
数字类型转换
int(x) 将x转换为一个整数。
float(x) 将x转换到一个浮点数。
complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
数学运算
+ - * / 加减乘除
注意:在不同的机器上浮点运算的结果可能会不一样
print(10/3)#整数除法返回浮点型 print(9/3)#/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数: print(10//3)#还有一种除法是//,称为地板除,两个整数的除法仍然是整数:因为//除法只取结果的整数部分 print(7.0/2)#// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系 print(7/2.0) print(10%3)#所以Python还提供一个余数运算,可以得到两个整数相除的余数
数学函数
abs()函数返回数字的绝对值
语法是abc(x) 参数x可以是整数,浮点数,复数
函数返回 x(数字)的绝对值,如果参数是一个复数,则返回它的大小。
print(abs(-40)) print(abs(-101.1)) print(abs(-1+1j))
ceil(x) 函数返回一个大于或等于 x 的的最小整数
注意:ceil()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
import math print ("math.ceil(-45.17) : ", math.ceil(-45.17)) print ("math.ceil(100.12) : ", math.ceil(100.12)) print ("math.ceil(100.72) : ", math.ceil(100.72)) print ("math.ceil(math.pi) : ", math.ceil(math.pi))
cmp()方法返回x的指数,ex。
注意:exp()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
print ("math.exp(-45.17) : ", math.exp(-45.17)) print ("math.exp(100.12) : ", math.exp(100.12)) print ("math.exp(100.72) : ", math.exp(100.72)) print ("math.exp(math.pi) : ", math.exp(math.pi))
fabs() 方法返回数字的绝对值,如math.fabs(-10) 返回10.0。
fabs() 函数类似于 abs() 函数,但是他有两点区别:
abs() 是内置函数。 fabs() 函数在 math 模块中定义。
fabs() 函数只对浮点型跟整型数值有效。 abs() 还可以运用在复数中。
print ("math.fabs(-45.17) : ", math.fabs(-45.17)) print ("math.fabs(100.12) : ", math.fabs(100.12)) print ("math.fabs(100.72) : ", math.fabs(100.72)) print ("math.fabs(math.pi) : ", math.fabs(math.pi))
floor(x) 返回数字的下舍整数,小于或等于 x。
floor()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
print ("math.floor(-45.17) : ", math.floor(-45.17)) print ("math.floor(100.12) : ", math.floor(100.12)) print ("math.floor(100.72) : ", math.floor(100.72)) print ("math.floor(math.pi) : ", math.floor(math.pi))
log() 方法返回x的自然对数,x > 0。
log()是不能直接访问的,需要导入 math 模块,通过静态对象调用该方法。
print ("math.log(100.12) : ", math.log(100.12)) print ("math.log(100.72) : ", math.log(100.72)) print ("math.log(math.pi) : ", math.log(math.pi))