还剩5页未读,继续阅读
文本内容:
人工智能与大数据学院人程序设计教案thon11教学标题项目4容器类型序列、映射和集合任务2列表授课班级云计算2101课时2场地4406时间2022年3月29日星期二授课教师李力Python没有C语言那种内置的数组类型,通常用列表来代替数组使用列表比数组更灵活,可以动态变化长度、容纳不同类型的数L项目/任务价值据、支持切片和动态运算符,而且提供了许多成员方法,可以满足开发者的各种需求,掌握这些方法可以在开发中省却很多繁琐的工作,加快开发速度知识目标
1.了解列表的特点
2.了解列表的成员方法
3.了解列表作为可变对象在复制数据时出现的问题
4.了解列表和元组的区别能力目标
2.学习目标
1.掌握列表成员方法的使用
2.掌握浅拷贝和深拷贝思政-素质目标
1.线上线下结合,引导学习方式,培养自主学习能力;教学设计
2.培养学生积极探索、勇于创新的科学素养;
3.养成小组沟通协作共同学习,解决问题能力和团队合作精神;
4.能按照实训6s管理要求做好课前的准备,课后的整理工作,培养勤俭、奋斗、创新、奉献的劳动精神;
1.任务描述
3.学习内容
2.知识准备列表的特性、列表成员方法
3.任务实施列表是可变对象,列表成员方法的使用,引用拷贝、浅拷贝、深拷贝的区别,元组的特点重庆在线开放课程平台《Python开发技术应用》,多媒体课件,理实一体化实训室,网络教学资源,www.pythontutor,com可视4,学习资源化工具、www.processor!,com在线流程图绘制工具实物教材,软件工具包教学重点列表成员方法的功能和具体用法教学难点列表作为可变对象在复制数据时出现的问题Python没有C语言那种内置的数组类型,通常用列表来代替数组使用列表是序列大类中最常用到的类型,列表功能强大、语法灵学情分析活、简单易用,而且一定程度上可以代替其他容器对象,因此使用非常广泛,当然也非常重要,必须掌握教学方法训练与练习法;情境教学法教学模式采用线上线下混合教学模式介绍列表的各种特性和成员方法的使用本次课教学流程教学策略介绍列表类型的特点和特性详细讲解、演示列表的各个成员方法的使用讲解列表作为可变对象在复制数据时出现的问题,针对引用拷贝、浅拷贝和深拷贝给出案例,并通过可视化工具予以展示讲解元组和列表的区别时间分教学环节学生、教师活动教学方法、手段及思政设计配多媒体演示课程导学详细讲解列表的用途用法3信息调研列表类似于C中的数组,但和数组不同的是,列表可以包含不同的数据类型,列表还有讲授、讨论、案例教学很多功能强大的方法可以使用课前发布导学单,线上线下结合,引导学习方式转变,培养自主学习能力小组协作、沟通、互助学习,培教学实施过程育团队合作意识,引导学生大胆表达引入项目学习任务和目标讲解列表的特性、用法和细节,讲多媒体演示2任务1列表的应用解引用拷贝、浅拷贝和深拷贝的启发式教学讲解列表的基本特性和具体应用背后原理,讲解和演示每一个列小组作品展示和讲解工作内容表成员方法的用途
1.列表的特点
2.列表的成员方法功能与用法
3.列表作为可变对象在复制数据时出现的问题
4.浅拷贝和深拷贝
5.列表和元组的区别任务实施思考并答题多媒体演示45任务1列表的应用为什可变对象的引用拷贝要设计启发式教学全■体内容.为数值联动?步骤1列.表的特点思政设计列表的字面特征方括号作为边界、逗号作为元素之间的分隔符要使一个列表反转,有几种方法从追求真相动机展示出求知列表是可变对象可以实现?欲;支持删除单个元素或切片范围在制作通讯录的练习中,使用了为什么单个元素的元组的字面革命战斗英雄的资料,居安思危、支持对单个元素或切片范围重新赋值可以通过成员方法更改自身结构或数据值格式必须要多写一个逗号?缅怀先烈、追忆历史、热爱祖国步骤2列表成员方法可以通过dir函数查看方法列表,然后通过help函数查看帮助信息如果列表中数据的顺序无关紧要,添加数据的时候应该使用插入还是使用追加?哪种方法更»dir list_add__class__contains__delattr__delitem_好?为什么?_dir__doc__eq__format_*,_ge—_getattribute__get item__gt__hash—_iadd__imul__init_init subclass‘iterlelenIt,mul’_ne_,-new_,_reduce—,_reduce_ex—,_repr—,_reversed—’,课内案例习题_rmul__setattr__setitem__sizeof—_str—学生聆听老师讲解,观看老师编_subclasshook_,append5,clear,,copy,count*,extend*,*index,,码实现,师生共同总结流程要点,insert,pop,remove,reverse,sort]#查询列表的方法梳理脉络,形成自然语言或伪代»help list,copy copyHelpon method_descriptor:码描述的文档,学生根据此文档重新编码,实现程序copy self,/Return ashallow copyof thelist.方法原型说明append appendobject将一个新对象追加到列表的结尾,没有返回值clear clear清空列表(删除列表中的所有元素),没有返回值copy copy返回列表的副本count countvalue统”•并返回指定值的元素在列表中的个数extend cxtcnditerablc将列表与另一个可迭代对象连接起来,没有返回值indexvalue,[start.按值来查找元素;返回找到的第一个元素的卜.标可以指定一个查找范index围1stop||insert insertindex.object在指定的卜标位置插入一个新对象,没有返回值在指定的下标位置删除一个元素,并返回被删除元素的值如果不指定下pop pop[index]标,则默认删除最后一个元素remove removevalue按指定的值来删除符合条件的第一个元素,没有返回值reverse reverse反转列表,没有返回值对元素进行排序,默认情况下数字按大小排序、字符串按ASCII编码顺序sort sortcmp=None,排序对r•特殊需求,可通过key参数描述排序规则(见项口6)key=None.reverse=False练习1在一份观众名单中随机抽取30%的幸运观众练习2使用列表实现一个通讯录,要求有控制台字符菜单,要求能够显示所有条目、能够通过姓名查询、能够添加和删除条目、能够自由退出程序步骤3列表作为可变对象在复制数据时出现的问题Python中的赋值实际上是将一个标识符引用到一个对象上如果想要两个一模一样的数据,最简单的办法是用现有的标识符为新的标识符赋值这称为引用拷贝,对不可变对象没有任何问题,因为当一个变量需要改变的时候必须重新赋值,一旦重新赋值,两个标识符就互不相干了»baa◎J包赋值本质上是引用,标识符里保存的是目标对象的逻辑内存地址,所以当引用拷贝时,两个标识符背后是同一个对象,又由于可变对象不经赋值也能被修改,当一个标识符未经重新赋值而使用了其他方法修改数据时,可以通过另一个标识符观察到对象已经被修改,也就是说两个变量名的值发生了联动要想再得到一个相同数据的列表,需要真正意义上的复制,而不是共享数据,则需要实现浅拷贝浅拷贝有三种方法:•对列表进行完整切片•使用列表自身的copy方法•使用copy模块中的copy函数浅拷贝只能使浅层数据独立,所以叫浅拷贝,如果列表中嵌套有列表,那么嵌套的列表仍然不会产生独立副本,修改其数据会产生联动解决浅拷贝的问题需要使用深拷贝,深拷贝会对嵌套的列表也产生真实独立副本深拷贝需要使用copy模块中的deep.copy函数步骤4列表和元组的区别元组是不可变对象,因此不能被修改,可以看成只读的列表元组中的元素可重复,支持任意类型、嵌套和常见的序列操作如切片、拼接等元组不能对单个元素或切片进行赋值、删除等操作元组的成员方法都是查询相关功能,没有修改功能只有单个元素的元组,字面值表达需要多写一个逗号用x,的格式,而并非x深化小组讨论多媒体演示讨论教学13启发性探讨为什么不可变对象的类型比可变对象多?为什么Python希望开发者尽可能的使用不可变对象?总结小组总结引导抢答互动教学5同学总结
1.列表的特点
2.列表的成员方法
3.可变对象复制数据时产生的问题和解决方法
4.列表和元组的区别任务多媒体
201.尝试使用列表成员方法
2.思考列表的成员方法具体可以用在哪些应用场景
3.用pythontutor,com查看针对列表的引用拷贝、浅拷贝和深拷贝操作的内存可视化状态小组评价和个人综合评价(课堂讨论的参与、是否认真笔记)2学业评价补充教学反思教学反思主要问题解决办法本次课的做得好的地方。