Python编程基础与应用 第2版 课件 第3章结构化程序设计;第4章函数模块与类_第1页
Python编程基础与应用 第2版 课件 第3章结构化程序设计;第4章函数模块与类_第2页
Python编程基础与应用 第2版 课件 第3章结构化程序设计;第4章函数模块与类_第3页
Python编程基础与应用 第2版 课件 第3章结构化程序设计;第4章函数模块与类_第4页
Python编程基础与应用 第2版 课件 第3章结构化程序设计;第4章函数模块与类_第5页
已阅读5页,还剩131页未读 继续免费阅读

下载本文档

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

文档简介

1

结构化程序设计3.1结构化程序设计程序设计与算法一般说来,程序设计包括以下步骤:①问题定义;②算法设计;③算法表示(如流程图设计);④程序编制;⑤程序调试、测试及资料编制。23.1结构化程序设计程序设计与算法33.1结构化程序设计流程图表示方式43.1结构化程序设计结构化程序设计的基本要点53.1结构化程序设计结构化程序设计的基本要点63.1结构化程序设计结构化程序设计的基本要点三种基本结构的共同特点是:1)只有单一的入口和单一的出口;2)结构中的每个部分都有执行到的可能;3)结构内不存在永不终止的死循环。因此,结构化程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。73.2选择结构if语句的形式83.2选择结构if语句的形式93.2选择结构if语句的形式103.2选择结构if语句的形式113.2选择结构if语句的形式123.2选择结构if语句的嵌套133.2选择结构if语句实例143.2选择结构if语句实例153.2选择结构if语句实例163.2选择结构assert断言函数及用法173.2选择结构assert实例183.3循环结构while循环语句193.3循环结构while循环语句203.3循环结构while循环语句213.3循环结构for循环语句223.3循环结构for循环语句233.3循环结构for循环语句243.3循环结构for循环语句253.3循环结构范围及for循环控制263.3循环结构范围及for循环控制273.3循环结构范围及for循环控制283.3循环结构循环嵌套293.3循环结构循环嵌套303.3循环结构循环嵌套313.3循环结构循环嵌套323.3循环结构循环控制语句1.break语句break语句,在语句块执行过程中终止当前循环,并且跳出当前循环。break语句可以立即终止当前循环的执行,跳出当前所在的循环结构。无论是while循环还是for循环,只要执行break语句,就会直接结束当前正在执行的循环体。break语句的语法非常简单,只需要在相应while或for语句中直接加入即可,一般会结合if语句进行搭配使用,表示在某种条件下跳出循环体。333.3循环结构循环控制语句343.3循环结构循环控制语句353.3循环结构循环控制语句2.continue语句continue语句执行过程中终止当前循环,跳出该次循环,执行下一次循环。和break语句相比,continue语句的作用没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。continue语句的用法和break语句一样,只要while或for语句中的相应位置加入即可。363.3循环结构循环控制语句373.3循环结构循环控制语句2.continue语句continue语句执行过程中终止当前循环,跳出该次循环,执行下一次循环。和break语句相比,continue语句的作用没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。continue语句的用法和break语句一样,只要while或for语句中的相应位置加入即可。383.3循环结构循环控制语句3.pass语句pass是空语句,只是起到保持程序结构的完整性作用。393.3循环结构循环控制语句403.4采用选择与循环实现序列操作序列推导式1.列表推导式使用[]生成list的基本格式为:variable=[out_exp_resforout_expininput_listifout_exp==2]其中out_exp_res为列表生成元素表达式,可以是有返回值的函数;forout_expininput_list为迭代input_list将out_exp传入out_exp_res表达式中;ifout_exp==2为根据条件过滤哪些值。413.4采用选择与循环实现序列操作序列推导式423.4采用选择与循环实现序列操作序列推导式2.字典推导式字典推导和列表推导的使用方法是类似的,需要将中括号改成大括号。433.4采用选择与循环实现序列操作序列推导式443.4采用选择与循环实现序列操作序列推导式453.4采用选择与循环实现序列操作序列推导式3.集合推导式它们跟列表推导式也是类似的,唯一的区别在于它使用大括号{}。463.4采用选择与循环实现序列操作序列推导式473.4采用选择与循环实现序列操作zip函数及用法zip()函数是Python内置函数之一,它可以将多个序列(列表、元组、字典、集合、字符串以及range()区间构成的列表)“压缩”成一个zip对象。所谓“压缩”,其实就是将这些序列中对应位置的元素重新组合,生成一个个新的元组。zip()函数的语法格式为:zip(iterable,...)其中iterable,...表示多个列表、元组、字典、集合、字符串,甚至还可以为range()区间。483.4采用选择与循环实现序列操作zip函数及用法493.4采用选择与循环实现序列操作reversed函数及用法reserved()是Pyton内置函数之一,其功能是对于给定的序列(包括列表、元组、字符串以及range(n)区间),该函数可以返回一个逆序序列的迭代器(用于遍历该逆序序列)。reserved()函数的语法格式如下:reversed(seq)其中,seq可以是列表、元素、字符串以及range()生成的区间列表。503.4采用选择与循环实现序列操作reversed函数及用法513.4采用选择与循环实现序列操作sorted函数及用法sorted()作为Python内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序。sorted()函数的基本语法格式如下:list=sorted(iterable,key=None,reverse=False)sorted()函数会返回一个排好序的列表。其中,iterable表示指定的序列,key参数可以自定义排序规则;reverse参数指定以升序(False,默认)还是降序(True)进行排序;key参数和reverse参数是可选参数,即可以使用,也可以忽略。523.4采用选择与循环实现序列操作sorted函数及用法533.5综合案例解析1.编写计算班级学生平均分程序543.5综合案例解析1.编写计算班级学生平均分程序553.5综合案例解析2.编写判读是否素数的程序5657

函数、模块与类4.1函数的定义函数定义规则1)函数代码块以def关键词开头,后接函数标识符名称和圆括号()。2)任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。3)函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明。4)函数内容以冒号起始,并且统一缩进。584.1函数的定义函数定义规则594.1函数的定义函数定义规则604.1函数的定义614.1函数的定义函数的形式参数和实际参数(1)形式参数:在定义函数时,函数名后面括号中的参数就是形式参数,例如:#定义函数时,这里的函数参数obj就是形式参数defdemo(obj):print(obj)624.1函数的定义函数的形式参数和实际参数(2)实际参数:在调用函数时,函数名后面括号中的参数称为实际参数,也就是函数的调用者给函数的参数。例如:a="Python学习小组"#调用已经定义好的demo函数,此时传入的函数参数a就是实际参数demo(a)634.1函数的定义函数的形式参数和实际参数根据实际参数的类型不同,函数参数的传递方式可分为2种,分别为值传递和引用(地址)传递:(1)值传递:适用于实参类型为不可变类型(字符串、数字、元组);(2)引用(地址)传递:适用于实参类型为可变类型(列表,字典)。644.1函数的定义函数的形式参数和实际参数654.1函数的定义函数的形式参数和实际参数664.1函数的定义值传递机制674.1函数的定义值传递机制684.1函数的定义引用传递机制694.1函数的定义引用传递机制704.1函数的定义函数的关键字参数714.1函数的定义函数的默认值参数724.1函数的定义函数的默认值参数734.1函数的定义函数的默认值参数744.1函数的定义None返回值常量None(N必须大写)。和False不同,它不表示0,也不表示空字符串,而表示“没有值”,也就是空值。这里的空值并不代表空对象,即None和[]、“”不同。None有自己的数据类型,可以在使用type()函数查看它的类型,属于NoneType类型。None常用于assert、判断以及函数无返回值的情况。比如使用print()函数输出数据,其实该函数的返回值就是None。因为它的功能是在屏幕上显示文本,根本不需要返回任何值,所以print()就返回None。对于所有没有return语句的函数定义,Python都会在末尾加上returnNone,使用不带值的return语句(也就是只有return关键字本身),那么就返回None。754.1函数的定义None返回值764.1函数的定义局部变量在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,将这样的变量称为局部变量(LocalVariable)。当函数被执行时,Python会为其分配一块临时的存储空间,所有在函数内部定义的变量,都会存储在这块空间中。而在函数执行完毕后,这块临时存储空间随即会被释放并回收,该空间中存储的变量自然也就无法再被使用。774.1函数的定义局部变量784.1函数的定义全局变量794.1函数的定义全局变量804.1函数的定义为函数提供说明文档814.2函数的高级应用匿名函数lambda表达式824.2函数的高级应用匿名函数lambda表达式834.2函数的高级应用闭包函数844.2函数的高级应用递归函数(1)必须有一个明确的结束条件。(2)每次进入更深一层递归时,问题规模相比上次递归都应有所减少。(3)相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。(4)递归效率不高,递归层次过多会导致栈溢出,因为函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。854.2函数的高级应用递归函数864.2函数的高级应用递归函数874.2函数的高级应用递归函数884.3类与对象对象的引入894.3类与对象对象的引入904.3类与对象对象的常用术语914.3类与对象类的定义924.3类与对象类和对象的关系934.3类与对象类的构造方法944.3类与对象类的构造方法954.3类与对象类的构造方法964.3类与对象类的构造方法974.3类与对象类的构造方法984.3类与对象类的构造方法994.3类与对象property()函数和@property装饰器1004.3类与对象property()函数和@property装饰器1014.3类与对象property()函数和@property装饰器1024.3类与对象property()函数和@property装饰器1034.3类与对象property()函数和@property装饰器1044.3类与对象property()函数和@property装饰器1054.4类的封装与继承封装1064.4类的封装与继承封装1074.4类的封装与继承封装1084.4类的封装与继承继承1094.4类的封装与继承继承1104.4类的封装与继承继承1114.4类的封装与继承多态1124.4类的封装与继承多态1134.5模块与库使用import来导入模块的语法格式1144.5模块与库使用import来导入模块的语法格式1154.5模块与库1164.5模块与库1174.5模块与库1184.5模块与库datetime模块1194.5模块与库datetime模块1204.5模块与库datetime模块1214.5模块与库datetime模块1224.5模块与库datetime模块1234.5模块与库datetime模块1244.5模块与库time模块 time.localtime([secs]):将一个时间戳转换为当前时区的struct_time。secs参数未提供,则以当前时间为准。 time.gmtime([secs]):和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time。 time.time():返回当前时间的时间戳。 time.mktime(t):将一个struct_time转化为时间戳。 time.sleep(secs):线程推迟指定的时间运行。单位为秒。 time.asctime([t]):把一个表示时间的元组或者struct_time表示为这种形式:'Sun

Oct

18

2

温馨提示

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

评论

0/150

提交评论