Python-数字(Number)
1.变量使用时必须先定义,否则会报错。a=5 在给变量赋值时Number对象被创建,如果要改变数字数据类型的值,将重新分配内 存空间。
2.可以使用del语句删除一些数字对象的引用,可通过del语句删除单个或多个对象的引用
3.python支持数字类型 int(python整型没有大小限制,可以当做long类型使用),float(整数部分和小数部分构成,也可以使用科学计数法),complex(由实数部分和虚数部分构成,可以用a+bj[J]或者complex(a,b)表示,其中复数实部和虚部都是浮点型)
com=2+3j
print(com.real,end=" ") #结果:2.0
print(com.imag) #结果:3.0
4.python数字类型转换
int(x) 将x转换为一个整数
float(x) 将x转换为一个浮点数
complex(x) 将x转换为复数,实部为x,虚部为0
complex(x,y) 将x和y转换为复数,实部为x,虚部为y,其中x和y是数字表达式
5.数字运算
不同类型的数混合运算时会将整数转换为浮点数
/ 总是返回一个浮点数
print(6/2) #结果 : 3.0
// 得到的不一定是整数类型的数,它与分子分母的数据类型有关
print(6//2) #结果: 3
print(6.0//2) #结果: 3.0
print(6//2.0) #结果: 3.0
注意:在交互模式中,最后被输出的表达式结果被赋值给变量_
>>>a=123
>>>b=a+1
>>>b
124
>>> b+_
248
此处_变量(应被用户视为只读变量)被上次输出124替换,因此b+_相当于计算b+124
6.数学函数
a. abs(x) 返回数字绝对值
整数浮点数返回数字绝对值,如果是复数则返回复数大小
print(abs(-3)) #结果:3
print(abs(-1.1)) #结果:1.1
print(abs(-3+4j)) #结果:5.0 如果参数是一个复数的话计算返回其大小
b. fabs(x) 返回数字绝对值
abs(x)和fabs(x)的区别:
*abs()是内置函数,fabs()函数在math模块中定义
*fabs()函数只对浮点型和整型数值有效,abs()还可以运用在复数中
print(math.fabs(-1)) #结果:1
print(math.fabs(-1.1)) #结果:1.1
#print(math.fabs(-1+2j)) #报错
c. ceil(x) 返回大于等于x的最小数
import math
print(math.ceil(47.0)) #结果:47
print(math.ceil(47.1)) #结果:48
d. exp(x) 返回e的x次幂
import math
print(math.exp(1)) #结果:2.718281828459045 计算e的1次幂
a=math.exp(2)
print(a) #结果:7.38905609893065
e.floor(x) 返回小于等于x的最大值
import math
print(math.floor(12.1)) #结果:12
f.log(x) 返回x的自然对数(x>0)
import math
a=math.exp(2)
print(a) #结果:7.38905609893065
print(math.log(a)) #结果:2.0 貌似返回一个浮点数
g.log10(x) 返回以10为基数的x的对数
import math
print(math.log10(100)) #结果:2.0 貌似也返回一个浮点数
h.max(x1,x2...) 返回给定参数的最大值,参数可以为序列
min(x1,x2...) 返回给定参数的最小值,参数可以为序列
print(max([1,2,3,4,8,10]),end=" ") #结果:10
print(min([1,2,3,4,8,10])) #结果:1
mytuple=(5,3,7,2,6)
print(max(mytuple),end=" ") #结果:7
print(min(mytuple)) #结果:2
mylist=[5,3,7,2,6]
print(max(mylist),end=" ") #结果:7
print(min(mylist)) #结果:2
i.modf(x) 返回x的整数部分与小数部分,这两部分的数值符号和x的符号相同
import math
print(math.modf(-1.21)) #结果:(-0.20999999999999996, -1.0)
j.pow(x,y) 返回x的y次幂
print(pow(2,2)) #结果:4
k.round(x,[n]) 返回浮点数x的四舍五入结果,其中n表示从小数点后哪一位开始四舍五入,n默认为0
print(round(2.1)) #结果:2 返回x的四舍五入后的结果
print(round(2.683467467,5)) #结果: 2.68347
#第二个参数表示从小数点后第n位开始四舍五入,默认值为0
l.sqrt(x) 返回x的平方根
7.随机函数
a.choice(x) 从给定序列中随机选出一个
import random
print(random.choice((5,3,7,2,6))) #从给定序列中随机选出一个
print(random.choice(range(1,100)))
print(random.choice('abcdefghijk'))
b.randrange([start],stop,[step]) 从指定范围内按指定基数递增的集合中获取一个随机数,基数默认为1(其中范围包含start不包含stop)
import random
print(random.randrange(1,100,2)) #从[1,100)随机选出一个数,其中递增数为2,递增数默认为1
print(random.randrange(100))
#从[0-99)随机选出一个数,其中递增数默认为1,难道第一个参数默认为0?
c.random() 随机生成[0,1)范围内的实数
import random
print(random.random()) #返回[0,1)之间的一个数
d.seed(x) 改变随机数生成器的种子seed,可以在调用其他随机模块函数之前调用此函数
import random
random.seed()
print ("使用默认种子生成随机数:", random.random())
random.seed(10)
print ("使用整数种子生成随机数:", random.random())
random.seed("hello",2)
print ("使用字符串种子生成随机数:", random.random())
e.shuffle(x) 将序列的所有元素随机排序
import random
mylist=[5,3,7,2,6]
print(random.shuffle(mylist)) #参数:列表,该函数给序列随机排序,返回值为None
print(mylist)
f.uniform(x,y) 随机生成[x,y]范围内的实数
import random
print(random.uniform(1,10))
8.三角函数
acos(x) 返回x的反余弦弧度值
asin(x) 返回x的反正弦弧度值
atan(x) 返回x的反正切弧度值
atan2(y,x) 返回给定的X及Y坐标值的反正切值
cos(x) 返回x的弧度的余弦值
hypot(x,y) 返回欧几里德范数 sqrt(x*x + y*y)
sin(x) 返回的x弧度的正弦值
tan(x) 返回的x弧度的正切值
degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x) 将角度转换为弧度
9.数学常量 pi,e
import math
print(math.pi,end=" ") #输出pi的值
print(math.e) #输出e的值