python课件第三章基本数据类型:数字类型及math库的应用_第1页
python课件第三章基本数据类型:数字类型及math库的应用_第2页
python课件第三章基本数据类型:数字类型及math库的应用_第3页
python课件第三章基本数据类型:数字类型及math库的应用_第4页
python课件第三章基本数据类型:数字类型及math库的应用_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章基本数据类型

数字类型及math库的应用教学要求掌握:数字类型的概念和使用;字符串类型概念、使用、格式化操作方法和应用。熟悉:Python标准数学库进行数值计算。了解:数字类型在计算机中的表示方法。教学内容3.1数字类型3.2数字类型的操作3.3math库的使用3.4案例:天天向上的力量知识导图2023/4/19Python常用内置对象对象类型类型名称示例简要说明数字intfloatcomplex12343.14,1.3e53+4j数字大小没有限制,内置支持复数及其运算字符串str'swfu',"I'mstudent",'''Python''',r'abc',R'bcd'使用单引号、双引号、三引号作为定界符,以字母r或R引导的表示原始字符串字节串bytesb'helloworld'以字母b引导,可以使用单引号、双引号、三引号作为定界符列表list[1,2,3]['a','b',['c',2]]所有元素放在一对方括号中,元素之间使用逗号分隔,其中的元素可以是任意类型字典dict{1:'food',2:'taste',3:'import'}所有元素放在一对大括号中,元素之间使用逗号分隔,元素形式为“键:值”元组tuple(2,-5,6)(3,)不可变,所有元素放在一对圆括号中,元素之间使用逗号分隔,如果元组中只有一个元素的话,后面的逗号不能省略集合setfrozenset{'a','b','c'}所有元素放在一对大括号中,元素之间使用逗号分隔,元素不允许重复;另外,set是可变的,而frozenset是不可变的常用内置对象对象类型类型名称示例简要说明布尔型boolTrue,False逻辑值,关系运算符、成员测试运算符、同一性测试运算符组成的表达式的值一般为True或False空类型NoneTypeNone空值异常ExceptionValueErrorTypeError

Python内置大量异常类,分别对应不同类型的异常文件

f=

open('data.dat','rb')open是Python内置函数,使用指定的模式打开文件,返回文件对象其他可迭代对象

生成器对象、range对象、zip对象、enumerate对象、map对象、filter对象等等具有惰性求值的特点,除range对象之外,其他对象中的元素只能看一次编程单元

函数(使用def定义)类(使用class定义)模块(类型为module)类和函数都属于可调用对象,模块用来集中存放函数、类、常量或其他对象续表Python常用内置对象常量、变量的地址>>>id(3)1667343520>>>id='3724....'>>>id(3)TypeError:'str'objectisnotcallable>>>x=1>>>id(x)>>>x=x+1>>>id(x)已知,id函数的功能是给出变量内存单元的地址,x=3,且id(x)=496103280,则执行:x=x+6,表达式id(x)==496103280的值为()TrueFalseAB提交单选题1分3.1数字类型3.1.1Python常见3种数字类型:Python提供3种数字类型:整数类型、浮点数类型和复数类型,分别对应数学中的整数、实数和复数。(1)整数(int)。例如:99,0b01(2)浮点数(float)。例如:0.99,4.3E-3,1.0(3)复数(complex)。例如:12.3+4j3.1.2整数类型与数学中的整数概念一致,除极大数的运算外,没有取值范围限制,受限于计算机内存的大小。理论上,取值从负无穷到正无穷。四种进制数:十进制、二进制、八进制、十六进制。默认情况,整数采用十进制,其他进制需要增加引导符号。整数类型不同进制的整数之间可以直接运算整数类型pow(x,y)函数:计算xy打开IDLE程序1:pow(2,10),#pow(x,y)函数是内置函数。pow(2,1000)程序2:pow(2,pow(2,15))#pow(x,y)函数可以嵌套数字>>>9999**99#这里**是幂乘运算符,等价于内置函数pow()990148353526723487602263124753282625570559528895791057324326529121794837894053513464422176826916433932586924386677766244032001623756821400432975051208820204980098735552703841362304669970510691243800218202840374329378800694920309791954185117798434329591212159106298699938669908067573374724331208942425544893910910073205049031656789220889560732962926226305865706593594917896276756396848514900989999>>>0.3+0.2#实数相加0.5>>>0.4-0.1#实数相减,结果稍微有点偏差0.30000000000000004>>>0.4-0.1==0.3#应尽量避免直接比较两个实数是否相等False3.1.3浮点数类型与数学中实数概念一致,带有小数点及小数的数字。Python语言中的浮点数类型必须带有小数部分,小数部分可以是0,区分浮点数和整数类型。例如:1010是整数,1010.0是浮点数。浮点数有2种表示方法:十进制表示和科学计数法表示。除十进制外,浮点数没有其他进制表示形式。下面是浮点数类型十进制例子:1010.0,-1010.浮点数类型浮点数类型科学计数法使用字母e或者E作为幂的符号,以10为基数,含义如下:

<a>e<b>=a*10b1.01e3值为1010.0;-1.01E-3值为0.00101。3.1.3浮点数类型Python浮点数数值范围和小数精度受不同计算机系统限制。>>>importsys#pow(x,y)函数是内置函数。>>>sys.float_info#列出系统的浮点数各项参数。>>>sys.float_info.max#浮点数类型所能表示最大值。>>>importdecimal#库decimal是高精度数数字类型Decimal。浮点数类型Python语言中浮点数的数值范围存在限制,小数精度也存在限制。3.1.4复数类型与数学中的复数概念一致,z=a+bj,a是实数部分,b是虚数部分,a和b都是浮点类型,虚数部分用j或者J标识。示例:

12.3+4j,-5.6+7j需要注意,当b为1时,1不能省略,即1j表示复数,而j则表示Python程序中的一个变量。复数类型复数类型中实部和虚部都是浮点类型,对于复数z,可以用z.real和z.imag分别获得它的实数部分和虚数部分。

>>>(1.23e-4+5.67e+89j).real

#求复数的实部。0.000123>>>(1.23e-4+5.67e+89j).imag

#求复数的虚部。5.67e+89Python语言的发展历史1、内置操作符:+、-、*、/、//取整、%求余数、**乘方2、内置函数:abs()、divmod(x,y)、pow()、max()、min()3、内置转换函数:int()、float()、complex()3.2数字类型的操作Python解释器为数字类型提供:数值运算操作符、数值运算函数、类型转换函数等操作方法。3.2.1内置的数值运算操作符三种类型存在一种逐渐“扩展”的关系:整数->浮点数->复数(整数是浮点数特例,浮点数是复数特例)数值运算操作符数字类型之间相互运算所生成的结果是“更宽”的类型,基本规则是:整数之间运算,如果数学意义上的结果是小数,结果是浮点数;整数之间运算,如果数学意义上的结果是整数,结果是整数;整数和浮点数混合运算,输出结果是浮点数;整数或浮点数与复数运算,输出结果是复数。数值运算操作符Python提供了9个基本的数值运算操作符>>>100/333.33333333333>>>100//333>>>123+4.0127.0>>>10-1+2j9+2j数值运算操作符数值运算操作符上表所有二元运算操作符(+、-、*、/、//、%、**)都可以与等号(=)相连,形成增强赋值操作符(+=、-=、*=、/=、//=、%=、**=)。用op表示这些二元运算操作符,增强赋值操作符的用法如下:xop=y等价于x=xopy例如:>>>x=99>>>x**=3#与x=x**3等价>>>print(x)970299Python语言的TIOBE

INDEX3.2.2内置的数值运算函数Python解释器提供了一些内置函数,在这些内置函数之中,有6个函数与数值运算相关3.2.2内置函数:abs()、divmod(x,y)、pow()、max()、min()>>>abs(-3)3>>>abs(-3+4j)5>>>pow(2,5)64>>>pow(3,pow(3,999),10000)Python语言的TIOBE

INDEX3.2.3内置的数字类型转换函数数值运算操作符可以隐式地转换输出结果的数字类型。例如,两个整数采用运算符“/”的除法将可能输出浮点数结果。此外,通过内置的数字类型转换函数可以显式地在数字类型之间进行转换。3.2.3内置转换函数:int()、float()、complex()>>>int(10.99)10>>>complex(10.99)(10.99+0j)>>>float((10+99j).imag)99.0>>>float(4)4.0(增加小数部分)数字类型的转换练习:(1)30-3**2+8//3**2*10=

[填空1]

(2)3*4**2/8%5=

[填空2]

(3)2**2**3=

[填空3]

(4)(2.5*1.25j)*4j/2=

[填空4]

作答正常使用填空题需3.0以上版本雨课堂填空题4分3.3math库的使用

3.3.1概述

math库是Python提供的内置数学类函数库。math库不支持复数类型。math库一共提供了4个数学常数和44个函数。

44个函数共分为4类,包括:16个数值表示函数、8个幂对数函数、16个三角对数函数和4个高等特殊函数。math库的概述

首先使用保留字import引用该库第一种:importmath对math库中函数采用math.<b>()形式使用。#ceil向上取整import*>>>importmath#导入标准库math>>>print(math.sin(3))#求正弦值>>>print(math.gcd(36,18))#最大公约数>>>print(math.pi)#常数π>>>print(math.e)#常数e>>>print(math.log2(8))#计算以2为底的对数值>>>print(math.log10(100))#计算以10为底的对数值>>>print(math.radians(180))

#把角度转换为弧度math库的概述第二种,frommathimport<函数名>对math库中函数可以直接采用<函数名>()形式使用。#floor向下取整from模块名import*>>>frommathimport*#导入标准库math中所有对象>>>sin(3)#求正弦值0.1411200080598672>>>gcd(36,18)#最大公约数18>>>pi#常数π3.141592653589793>>>e#常数e2.718281828459045>>>log2(8)#计算以2为底的对数值3.0>>>log10(100)#计算以10为底的对数值2.0>>>radians(180)#把角度转换为弧度3.141592653589793math库的应用计算机系统计算机硬件(五大功能部件)计算机软件(系统软件<python>和应用软件app)摩尔定律:单位面积集成电路上,容纳晶体管数量约每两年翻一倍。摩尔盖茨效应:实际系统运行速度没有摩尔定律的速度快;1946第一台计算机诞生,ENIAC。3.3.2math库解析math库包括4个数学常数math库包括16个数值表示函数math库解析math.fsum([x,y,…]函数在数学求和运算中使用,在涉及浮点数运算和结果比较时,建议采用math库函数。math库包括8个幂对数函数math库解析

math库解析math库包括六个“三角双曲函数”3.4实例3:天天向上的力量从实例3.1到实例3.5关于天天向上的力量实例,进一步加深Python语言数据类型应用。3.4实例:天天向上的力量实例代码3.1:天天向上一年365天,以第1天的能力值为基数,记为1.0,当好好学习时能力值相比前一天提高1‰,当没有学习时由于遗忘等原因能力值相比前一天下降1‰。每天努力和每天放任,一年下来的能力值相差多少呢?运行结果如下,每天努力1‰,一年下来将提高44%,好像不多?请继续分析。实例代码3.1-3.5实例3.1实例3.1:设一年365天,第一天能力为1.0,如果每天学习能力提高0.1%,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论