赞
踩
有些强类型的编程语言会提供多种整数类型,每种类型的长度都不同,能容纳的整数的大小也不同,开发者要根据实际数字的大小选用不同的类型。例如C语言提供了 short、int、long、long long 四种类型的整数,它们的长度依次递增,初学者在选择整数类型时往往比较迷惑,有时候还会导致数值溢出。
而 Python 则不同,它的整数不分类型,或者说它只有一种类型的整数。Python 整数的取值范围是无限的,不管多大或者多小的数字,Python 都能轻松处理。
decimal = 10
print(type(decimal))
输出结果:<class 'int'>
浮点数和整数在计算机内部存储的方式是不同的,整数运算永远是精确的,然而浮点数的运算则可能会有四舍五入的误差
在Pyton中你可以使用round()这个函数来控制浮点数精确位数,rand()函数是返回某个值四舍五入后的值
decimal = 10.1
print(type(decimal))
print(8.5 - 8.4)
print(round(8.5 - 8.4, 2))
输出结果:<class 'float'>
输出结果:0.09999999999999964
输出结果:0.1
str = 'hello python'
print(type(str))
输出结果:<class 'str'>
lis = [1, 2, 3, 4, 5]
print(type(lis))
输出结果:<class 'list'>
tupl = (1, 2, 3, 4, 5)
print(type(tupl))
输出结果:<class 'tuple'>
se = {1, 3, 4, 5, 'a', 'b', 'c'}
print(type(se))
输出结果:<class 'set'>
dic = {
'name': 'dd',
'age': '18'
}
print(type(dic))
输出结果:<class 'dict'>
c1 = 12 + 0.2j c2 = 6 - 1.2j print(c1) print(c2) print(type(c1)) print(type(c2)) 输出结果:(12+0.2j) 输出结果:(6-1.2j) 输出结果:<class 'complex'> 输出结果:<class 'complex'> #对复数进行简单计算 print(c1+c2) print(c1-c2) print(c1*c2) print(c1/c2) 输出结果:(18-1j) 输出结果:(6+1.4j) 输出结果:(72.24-13.2j) 输出结果:(1.9166666666666667+0.4166666666666667j)
加法法则
复数的加法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,
则它们的和是 (a+bi)+(c+di)=(a+c)+(b+d)i。
两个复数的和依然是复数,它的实部是原来两个复数实部的和,它的虚部是原来两个虚部的和。
复数的加法满足交换律和结合律,
即对任意复数z1,z2,z3,有: z1+z2=z2+z1;(z1+z2)+z3=z1+(z2+z3)。
减法法则
复数的减法按照以下规定的法则进行:设z1=a+bi,z2=c+di是任意两个复数,
则它们的差是 (a+bi)-(c+di)=(a-c)+(b-d)i。
两个复数的差依然是复数,它的实部是原来两个复数实部的差,它的虚部是原来两个虚部的差。
乘法法则
规定复数的乘法按照以下的法则进行:
设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i。
其实就是把两个复数相乘,类似两个多项式相乘,展开得: ac+adi+bci+bdi2,因为i2=-1,所以结果是(ac-bd)+(bc+ad)i 。两个复数的积仍然是一个复数。
在极坐标下,复数可用模长r与幅角θ表示为(r,θ)。对于复数a+bi,r=√(a²+b²),θ=arctan(b/a)。此时,复数相乘表现为幅角相加,模长相乘。
除法法则
复数除法定义:满足(c+di)(x+yi)=(a+bi)的复数x+yi(x,y∈R)叫复数a+bi除以复数c+di的商。
运算方法:可以把除法换算成乘法做,在分子分母同时乘上分母的共轭。所谓共轭你可以理解为加减号的变换,互为共轭的两个复数相乘是个实常数。
除法运算规则:
①设复数a+bi(a,b∈R),除以c+di(c,d∈R),其商为x+yi(x,y∈R),
图1 分母实数化
图1 分母实数化
即(a+bi)÷(c+di)=x+yi
∵(x+yi)(c+di)=(cx-dy)+(dx+cy)i
∴(cx-dy)+(dx+cy)i=a+bi
由复数相等定义可知 cx-dy=a dx+cy=b
解这个方程组,得 x=(ac+bd)/(c2+d2) y=(bc-ad)/(c2+d2)
于是有:(a+bi)/(c+di)=(ac+bd)/(c2+d2) +((bc-ad)/(c2+d2))i
②利用共轭复数将分母实数化得(见图1):
点评:①是常规方法;②是利用初中我们学习的化简无理分式时,都是采用的分母有理化思想方法,而复数c+di与复数c-di,相当于我们初中学习的 的对偶式,它们之积为1是有理数,而(c+di)·(c-di)=c2+d2是正实数.所以可以分母实数化。把这种方法叫做分母实数化法。
另外,由上述乘法法则可得另一计算方法,即幅角相减,模长相除。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。