《Python课程资源》-项目九人机猜拳_第1页
《Python课程资源》-项目九人机猜拳_第2页
《Python课程资源》-项目九人机猜拳_第3页
《Python课程资源》-项目九人机猜拳_第4页
《Python课程资源》-项目九人机猜拳_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

枣庄科技职业学院信息工程学院2022—2023学年第2学期教案工作部门:信息工程学院人工智能与大数据教研室课程名称:Python程序设计选用教材:《Python程序设计项目化教程》授课专业:22计算机/22物联网授课教师:黄海杰2023年6月授课章节项目九人机猜拳授课时间第16周(8课时)授课地点6号教学楼6204教室/6602教室授课对象2022计算机一班/2022物联网授课形式理实一体化教学资源教学标准新一代信息技术专业群中课程标准信息化资源教材自带精品课程教学目标知识目标1.理解面向对象技术的基本概念。2.掌握类与对象的用法。3.了解类的继承和方法重写的概念。能力目标能够利用面向对象的思想编写程序。2.能够使用类的继承和方法的重写编写程序。素质目标1.培养学生政治素质,职业道德规范2.培养学生文化素质,数据收集能力、独立思考能力、自学能力3.培养业务素质,工匠精神教学重点理解面向对象技术,掌握类与对象的用法教学难点能够使用类的继承和方法的重写编写程序学情分析学生通过前几章的学习已经有一定的简单的编程基础,能够对异常处理、能够对文件进行操作,通过本章的学习,使学生能够利用面向对象的思想编写程序,掌握继承和方法重写。教学设计课前:教师下发学习任务清单,学生明确学习目标及学习任务,进行预习;随后利用课程学习相关教学资源进行自主学习、小组协作、交流研讨,初步了解Python语言的几种结构。课堂:第一部分,面向对象技术的基本概念:联系面向过程使学生理解面向对象技术的特征。第二部分:类与对象,通过实例讲解类的定义,如何声明对象,练习属性和方法的使用,理解构造方法和析构方法。第三部分,类的继承:提出继承的概念,掌握多类继承,可以分析简单的多类继承程序。第四部分,了解方法重写。教师通过讲授及实例编码演示方式,形象生动地讲解编程基础知识,同时授课教师将根据不同学生的掌握的熟练程度,提高学生解决问题的能力。要让同学们打好编程基础,底子牢才能筑高楼。教师通过现场的巡视指导,及时对学生进行评价,形成了课上与课后、教师与学生、过程与结果多元的评价体系,教师了解学生学习情况并及时调整教学进度。课后:师生交流群随时进行互动、答疑,巩固学习效果。教师通过交流群发布作业及拓展项目要求,学生有选择的进行拓展项目的学习,并收集相关资料、应用案例上传至交流互动版块进行资源共享。教学流程学生活动教师活动学生活动教师活动课前查看任务清单明确学习任务制作任务清单下发任务清单课前查看任务清单明确学习任务制作任务清单下发任务清单自主预习效果检查自主预习效果检查综合点评情境创设综合点评情境创设任务分析课堂巡回指导任务分析课堂巡回指导分组讨论理论教授分组讨论理论教授教师示范学生实战教师示范学生实战在线答疑解惑完成拓展作业在线答疑解惑完成拓展作业课后课后收集相关资料收集相关资料整理应用案例教学平台上传教学过程实施教学环节教学内容教师活动学生活动运用方法时长课前1.制作任务清单2.根据具体项目实施要求将全班同学分成5个学习小组3.学生查看任务清单,明确学习目标及学习任务,讨论并确定学生的职责和任务。1.通过学习交流群发布任务清单。2.摸清学情,对学生进行分组教学1.对照任务清单,明确学习目标及任务,进行预习新课。2.学生发现预习问题,准备课堂交流提问。信息化手段30分钟课中1.面向对象技术的基本概念1.理解面向对象技术,区别面向过程2.讲解面向对象的基本特征1.观看PPT,理解面向对象的基本特征讲授法2.类与对象1.类的定义2.对象的声明3.属性和方法的使用4.构造方法和析构方法1.理解类、掌握对象声明的方法2.练习属性和方法的正确使用3.理解构造方法和析构方法在python中的使用。示范教学、讲授法3.类的继承1.继承的基本概念2.继承的定义3.子类的构造方法4.多继承1.理解python中的单继承和多继承2.分析简单的继承程序示范教学、讲授法4.方法重写讲解子类重写父类方法在实例中练习子类重写父类示范教学、讲授法、学生自主练习综合评价效果检测1.发布随堂测试题目2.综合评价学生得分3.总结改进1.完成随堂测试2.自评、互评2.总结信息化手段课后项目拓展提升能力1.下达拓展任务清单。2.课后辅导答疑3.制作下次任务清单1.完成拓展项目2.与教师互动、上传案例3.自主预习信息化手段教学反思教学效果1.能够利用面向对象的思想编写程序。2.能够使用类的继承和方法的重写编写程序。特色创新改进措施通过学生互动活动,有利于学生自主学习与合作交流。一能加深对识别法的认识,有助对教学内容的巩固;二利用这一互动活动,及时反馈信息,有利于教师调整教学策略,优化教学方法,提高教学质量。还需要进行更加充分的备课,将相关知识点准备充分,讲解才能更加自信流畅。活页式知识要点整理导引一、面向对象技术的基本概念Python从设计之初就是一门面向对象的语言,因此,在python中创建一个类和对象是非常容易的。如果你以前没有接触过面向对象的编程语言,你需要先了解面向对象语言的一些基本特征,在头脑中形成一个基本的面向对象的概念,这样有助于你更容易地学习python的面向对象编程。Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法。对象可以包含任意数量和类型的数据。类与对象类(class):用来描述具有相同的属性和方法的对象的集合。类定义了该集合中每个对象所共有的属性和方法。对象是类的实例。对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。语法格式如下:classClassName: <statement-1>…… <statement-N>类实例化后,可以使用其属性,实际上,创建一个类之后,也可以通过类名访问其属性。classPerson:'''人类'''name="David"age=18defspeak(self):print("Mynameis%s,I'm%dyearsold!"%(,self.age))对象的声明:类对象支持两种操作:实例化和属性引用。属性引用的语法为:。类对象创建后,类命名空间中所有的命名都是有效属性名。很多类都倾向于将对象创建为有初始状态的。因此类可能会定义一个名为__init__()的特殊方法。__init__()方法可以有参数,参数通过__init__()传递到类的实例化操作上。属性与方法在类的内部,使用def关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数self,且为第一个参数,self代表的是类的实例。仔细体会书上的代码,看自己能否进行解释,可以尝试将自己的星座,年龄和爱好等写入程序中。构造方法与析构方法类的构造方法和析构方法名称是由Python预设的,__init__为构造方法名,__del__为析构方法名。构造方法在调用类创建实例对象时自动被调用,完成对实例对象的初始化。析构方法在实例对象被回收时调用。在定义类的时候,可以不定义构造方法和析构方法。无参构造方法:classStudent:def__init__(self):="林想"self.major="数字媒体技术"defspeak(self):print("我叫%s,我的专业是%s!"%(,self.major))#s1=Student()s1.speak()s2=Student()s2.speak()有参构造方法:classStudent:def__init__(self,name,major):=nameself.major=majordefspeak(self):print("我叫%s,我的专业是%s!"%(,self.major))s1=Student("李军","人工智能技术应用")s1.speak()s2=Student("赵威","大数据技术")s2.speak()析构方法:classStudent:def__init__(self,name,major):=nameself.major=majordef__del__(self):print("析构方法在运行......")s1=Student("李军","人工智能技术应用")s2=Student("赵威","大数据技术")二、类的封装和继承1、封装:封装数据的主要原因是保护隐私。通常把隐藏属性、方法与方法实现细节的过程称为封装,即将某些部分隐藏起来,在程序外部看不到,其他程序无法调用,避免外界随意赋值。要了解封装,离不开“私有化”,就是将类或者函数中的某些属性限制在某个区域之内,外部无法调用。Python通过在变量名或方法前加双下划线“_”来实现私有化。Python中属性的封装可以采用如下方式实现:①把属性定义为私有属性,即在属性前加双下划线“_”。②添加可以供外界调用的两个方法,分别用于设置和获取属性值。继承:即一个派生类继承基类的字段和方法。继承也允许把一个派生类的对象作为一个基类对象对待。(1)继承的基本概念:面向对象编程语言的一个主要功能就是继承。继承是指这样一种技能:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。继承的过程就是从一般到特殊的过程。在考虑使用继承时,有一点需要注意,那就是两个类之间的关系应该是“属于”关系。(2)继承的定义:Python支持类的继承。派生类的定义如下:classDerivedClassName(BaseClassName1): <statement-1>…… <statement-N>需要注意圆括号中基类的顺序,若是基类中有相同的方法名,而在子类使用时未指定,Python从左至右搜索,即方法在子类中未找到时,从左到右查找基类中是否包含方法。BaseClassName(示例中的基类名)必须与派生类定义在一个作用域内。除了类,还可以用表达式,基类定义在另一个模块中时这一点非常有用。>>>ClassDerivedClassName(modname.BaseClassName):(3)子类构造函数:子类有自己的构造方法,在代码中子类构造方法有两种写法:1、父类名称.__init__(self,参数1,参数2,...)2、super(子类,self).__init__(参数1,参数2,....)在定义子类的构造方法时,要先继承再构造,这样我们也能获取父类构造方法的初始化属性。子类构造方法调用父类构造方法过程如下:实例化子类对象→调用子类__init__()→子类__init__()继承父类__init__()→调用父类__init__()。(4)多继承:Python中多继承的类定义如下:classDerivedClassName(Base1,Base2,Base3): <statement-1>…… <statement-N>需要注意圆括号中父类的顺序,若是父类中有相同的方法名,而在子类使用时未指定,python从左至右搜索,即方法在子类中未找到时,从左到右查找父类中是否包含方法。方法重写如果父类方法的功能不能满足需求,可以在子类重写父类的方法>>>classParent: defmyMethod(self): print('调用父类方法')>>>classChild(Parent): defmyMethod(selfO): print('调用子类方法')>>>c=Child()>>>c.myMethod()举例:classAnimal:defshout(self):print("这是一个描述动物吼叫的方法")classDog(Animal):defshout(self):print("Dogisshouting...汪汪汪")classCat(Animal):defshout(self):print("Catisshouting...喵喵喵")#super().shout()d=Dog()d.shout()c=Cat()c.shout()super().shout()三、多态多态即多种形态,在运行时确定其形态,在编译阶段无法确定其类型,这就是多态。在Python中,多态指在不考虑对象类型的情况下使用对象,只要对象具有预期的方法,就可以使用对象。在继承关系中,子类重写父类的同名方法,当调用同名方法时,系统会根据对象来判断执行哪个方法,这就是多态性的体现。举例:多态改写重写例子classAnimal:defshout(self):print("这是一个描述动物吼叫的方法")classDog(Animal):defshout(self):print("Dogisshout

温馨提示

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

评论

0/150

提交评论