内容正文:
专题四 Python数值
Python程序设计
1
考纲解读
一
1.掌握整型int( )函数的使用
2.掌握二、八、十、十六进制之间的转换
3.掌握浮点型float( )函数的使用
4.掌握复数的定义和属性方法
5.掌握复数的运算
6.掌握复数complex( )函数的使用
知识点梳理-整型
二
数值类型包含整型(int)、浮点型(float)、复数(complex)
整型 int
整型常量可以用十进制、八进制、二进制和十六进制表示
十进制: 123、-326、0
二进制整数用0b或0B作为前缀,由0和1组成 例如: 0b1010
八进制整数用0o或0O作为前缀,由0~7组成 例如: 0o367
十六进制整数用0x或0X作为前缀,由数字0~9和小写字母a~f(或大写字母A~F)例如:0x12ab
整型数据类型的内置函数为int(num,[m])
1.当m省略时:int(num)就是将num转为整型数据。如果num是浮点型数据就是去掉小数点后面的所有数字,只保留小数点前面的整数。
知识点梳理-整型
二
还可以将字符类型的整数转为整型:
print(int('1')) # 1
print(int("3.14")) # 报错 不能将字符类型的浮点数转为整型
2. 当m不省略时
还可以使用int( )函数来将其他进制的整数转为十进制的整数。int(n,m) # n为进制数 m为进制
示例:
int("1010",2) # 就是将二进制的"1010"转为十进制
int("1234",8) # 就是将八进制的"1234"转为十进制
int("12ab",16) # 就是将十六进制的"12ab"转为十进制
代码演示:
知识点梳理-浮点型
二
浮点型数据(float) 就是带小数点的数据,浮点型数据有两种表达形式:十进制小数形式和指数形式.
十进制小数形式由数字和小数点组成。例如:1.23、3.14159,此外,
如果小数点后面也只有零,例如:1.0可以写成1.
如果小数点前面也只有零,那么也可以省略 如:0.2可以写成.2
浮点型数据类型的内置函数为float(num)将num转为浮点型的数据。
print(float(2)) # 2.0 转为浮点型数据
print(float(3.14)) # 3.14 本来就是浮点型的数据,因此结果不变
print(float("12")) # 12.0 字符串类型的数字转为整型的数字
print(float("12.34")) # 12.34 字符串类型的小数转为浮点数
知识点梳理-浮点型
二
指数形式 ae(E)b
用科学计数法表示浮点数,用字母e或E表示10为底数的指数如1.2e5,打印出来则是120000.0
字母e前面为数字部分。字母e后面为指数部分,必须为整数(正整数和负整、零)并且数字部分和指数部分必须同时出现。
总结一下:
1.数字部分和指数部分必须同时出现
2.指数部分必须为整数(正整数和负整数、零)
例如:3.6e3 、 2.39e-9 错误的有:1.2e1.5 、e5、1.2e、1.2e0.5
知识点梳理-复数
二
复数的表示形式为(a+bj)/(a+bJ)
其中a为实数,b为虚数,j表示虚数单位。字母j也可以写成大写形式J,但是不能使用其他字母表示,只能使用j或者J。
在python语言中,可以使用real和imag属性来获取一个复数的实数部分和虚数部分.
注意:获取到的实数、虚数、模都是浮点类型的。
。
(a+bj).conjugate( ) # 返回该复数的共轭复数
共轭复数:两个复数的实数相同,虚数成相反数。
比如: (1+2j)和(1-2j)就是共轭复数
complex(real,imag)函数用于创建一个复数或者将一个数或字符串转换为复数形式,其返回值为一个复数。
知识点梳理-复数
二
注意:如果第一个参数为字符串,第二个参数必须省略
print(complex(0,0)) 的运行结果是: (0j) (或0J)
print(complex(1.0,2.0)) # (1+2j)
print(complex(1,2)) # (1+2j)
print(complex(1.5,2.5)) # (1.5+2.5j)
其他注意事项:
先看看下面的代码:
说明:如果复数类型不加括号,会把复数的实数部分和虚数部分的数字相加作为虚部,因此写复数写成(a+bj)的形式避免运算的时候出现问题。
实数部分和虚数部分为指数的时候:
1.23e-4+5.67e+8j.real的运行结果是?答案为: 0.000123
知识点梳理-复数运算
二
加减运算:
将实数和实数,虚数和虚数按照数学的加减来进行运算 例如:
求模运算(a+bj):
公式 (a**2+b**2)**0.5 也可以使用内置函数abs( )来求复数的模。
上面的示例看出:即便虚数部分为0也不能省略虚数的0.否则会出错
知识点梳理-复数运算
二
乘法运算:
设z1=a+bj,z2=c+dj是任意两个复数,那么它们的乘积(a+bj)(c+dj)=(ac+bd)+(bc+ad)j 并且j**2的值为-1
Z1*Z2=6-10j+12j-20j**2 其中j**2的值为-1则最后面的结果为(26+2j)
print((3 + 4j) * (2 - 3j)) # 6-9j+8j+12 (18-1j)
print((4 - 5j) * (3 - 2j)) # 12-8j-15j-10 (2-23j)
注意:j前面的数字不能省略,0也不行 如0j、1j
在进行复数的运算时也要考虑到运算符的优先级。例如:
print(2+3j.imag//6) # 2.0
print((2+3j).imag//6) # 0.0
提示:上面的运算遵循优先级
限时练习
三
1.print(int(3.9))
【答案】3
【解析】int()函数将浮点数转为整型,直接将小数点部分去除
2.print(int('3'))
【答案】3
【解析】int()函数将字符型的整数转为整型
3.print(int('3.5'))
【答案】报错
【解析】int()函数不能将字符型的浮点数转为整型
分别写出下面表达式的运行结果
限时练习
三
4.print(int("10101",2))
【答案】21
【解析】int()函数将二进制的10101转为十进制 结果为21
5.print(int(0b10101))
【答案】21
【解析】int()函数将二进制的10101转为十进制 结果为21
6.print(int('0b10101',2))
【答案】21
【解析】int()函数将二进制的10101转为十进制 结果为21
分别写出下面表达式的运行结果
限时练习
三
7.print(int("12",8))
【答案】10
【解析】将八进制的"12"转为十进制 结果为10
8.print(int("2f",16))
【答案】47
【解析】将十六进制的"2f"转为十进制 结果为47
9.print(float(3))
【答案】3.0
【解析】将整型3转为浮点数 结果为3.0
分别写出下面表达式的运行结果
限时练习
三
10.print(float('3.5’))
【答案】3.5
【解析】将字符型的浮点数转为浮点数
11.print(complex(1))
【答案】(1+0j)
【解析】实数为1.0 虚数为0.0 结果为(1+0j)
12.print(complex(1,2))
【答案】(1+2j)
【解析】实数为1.0 虚数为2.0 结果为(1+2j)
分别写出下面表达式的运行结果
限时练习
三
13.print(complex(1.0,2.0))
【答案】(1+2j)
【解析】实数为1.0 虚数为2.0 结果为(1+2j)
14.print(complex("1.5"))
【答案】(1.5+0j)
【解析】实数为1.5 虚数0.0 结果为(1.5+0j)
15.print((1+2j)*(3+4j))
【答案】(-5+10j)
【解析】3+4j+6j+8j**2 其中j**2的值为-1 实数与实数运算 虚数与虚数运算结果为(-5+10j)
分别写出下面表达式的运行结果
归纳总结
四
谢谢观看
17
$$