版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Python程序设计基础项目化教程》课程教案课题:项目一 初识Python教学目的:1.深刻认识到熟悉Python环境、掌握Python的基本概念是后续所有编程实践的基石,从而培养脚踏实地、循序渐进的学习品格。2.通过学习Python严格的语法规范,理解计算机程序对精确性的要求,进而在实践中养成一丝不苟、严谨细致的科学态度。3.通过了解Python标准库与第三方库,理解开源社区的协作模式与共享精神。4.掌握Python环境的搭建与配置。5.理解Python的生态系统与模块化编程。6.掌握Python的核心语法基础与编码规范。课型:新授课课时:本章安排6个课时。教学重点:重点:掌握Python环境的搭建与配置。教学难点:难点:理解Python的生态系统与模块化编程。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题初识Python课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境Python以其简洁的语法、强大的功能和广泛的应用领域,成为无数开发者入门编程的首选语言。它不仅是一门语言,更是一块通往数据科学、人工智能、网络开发等前沿领域的坚实基石。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一Python概述一、Python简介Python由荷兰人吉多·范罗苏姆(GuidovanRossum)设计。作为一门叫作ABC语言的替代品,Python不仅提供了高效的高级数据结构,还能简单有效地支持面向对象编程。二、Python3.14.0新特性Python3.14.0主要有以下新功能与新特性。1. 自由线程旧版本Python处理任务时,即使电脑有多个处理器核心(可以理解为多个“大脑”),同一时间也只能使用一个。新版本完善了“自由线程”模式,开启后,程序可同时使用电脑的多个核心。这就好比从“一个人排队办事”变成“开放多个窗口同时办事”,处理大型计算任务的速度会快很多。2. 延迟解析注解这是另一种实现并行计算的方式,它允许在一个进程中创建多个相对独立的Python解释器环境。在给代码添加类型说明(注解)时,如果引用了一个在后面才定义的类型,旧版本会报错(因为它“不认识”还没“出场”的类型)。新版本允许“先引用,后定义”,让代码组织更自由。(1)在Python3.14.0中,如下写法是完全正确的。(2)在旧版本中,下述代码可能会因为不识别Department而报错。3. 新增了更安全的字符串写法Python3.14.0新增了一种新的字符串语法,为处理需要延迟替换内容的文本提供了便利。常用的f-string会立即把变量填入字符串;新引入的t-string则像一个“模板”,它不会马上填充内容,而是提供一个在填充前检查的机会,也更安全。4. 报错提示更精准Python3.14.0继续优化了错误提示。代码写错时,它不仅会指出错误,还会像个聪明的老师一样,猜测你可能想写的是什么,帮助你快速找到并解决问题。下面介绍几种常见的代码报错情况。(1)函数名拼写错误。(2)变量名拼写错误。三、安装PythonPython是一种解释型脚本语言,因此要想让编写的代码得以运行,需要先安装Python解释器。1. 下载Python3.14.0打开Python官方网站进入下载页面,如图1-1所示,在“ActivePythonReleases”选区显示不同版本的Python(从Python3.9~Python3.15)。其中,Python3.15是预发布的版本,预计2026年10月7日发布。2. 安装3. 检查安装结束后,需要检查安装是否成功。四、Anaconda除了可以使用pip3命令安装包,还可以从Anaconda的官方渠道安装。Anaconda提供了大量的Python包和工具,便于安装和管理。1. 安装Anaconda登录Anaconda的官网,网站会根据操作系统(如Windows10/11)自动选择最新的Python3.x版本,并选择“64-BitGraphicalInstaller(914M)”进行下载,如图1-10所示。2. 验证安装结果安装完成后,在“开始”→“Anaconda3(anaconda3)”选项列表中可看到安装后的4个图标。五、Python的基本概念Python是面向对象程序设计(ObjectOrientedProgramming,OOP)语言,主要针对大型软件设计提出,能让软件的设计更加灵活,更好地支持代码复用和设计复用,并使得代码具有更好的可读性和可扩展性。在进行面向对象程序设计之前,需要了解设计过程中的一些基本概念。1. 对象2. 类3. 定义4. 函数5. 方法6. 包7. 模块8. 库任务二Python开发环境一、IDLEShellIDLE(IntegratedDevelopmentandLearningEnvironment,集成开发与学习环境)是Python官方自带的一个迷你集成开发环境。安装Python后,IDLE会被一同安装,无须额外配置。它包含了学习编程所需要的基本功能:交互式窗口(Shell)、代码编辑器、运行与调试,非常适合初学者。二、Python标准库Python标准库是随Python安装一同提供的一系列模块和包。它并不会随着解释器的启动而启动,需要使用前通过import语句显式导入。Python内置的标准库很庞大,可以帮助用户处理各种工作,包括生成文档、制作网页浏览器、发送电子邮件等。下面按照模块分类介绍Python标准库。1. 数字和数学模块2. 数据类型3. 功能编程模块4. 数据持久化5. 数据压缩和存档6. 文件格式7. 文件和目录访问8. 通用操作系统服务三、Python第三方库Python拥有一个庞大的第三方库生态系统。这些库需通过pip等包管理工具安装后,才能在代码中导入使用。1. 使用pip工具下载安装库pip是通用的Python包管理工具,提供Python包的查找、下载、安装、卸载等功能,是下载特定包、安装模块/库的简便工具。(1)安装NumPy。按快捷键Win+R打开“运行”对话框,输入“cmd”,打开命令提示符窗口,显示对应的用户名(不同的用户显示的用户名有所不同)。(2)卸载NumPy。(3)安装检验。安装结束后,启动IDLE(Python3.1264-bit),在IDLEShell3.12.2中输入下面的程序,使用模块中的函数,验证模块安装是否成功。(4)数据处理库Pandas。Pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。Pandas提供了大量能使我们快速、便捷地处理数据的函数和方法,并提供了大量的库和一些标准的数据模型,是高效操作大型数据集所需要的工具。2. 在Anaconda中下载和安装库(1)使用命令行工具conda。conda是Anaconda自带的强大包管理工具,使用命令行安装库是一种高效、通用的方法。(2)使用AnacondaNavigator软件。四、官网下载软件包在PyCharm中安装第三方库失败时,可以到官网下载对应的安装包。搜索对应安装包(如pandas)的界面,如图1-36所示。在搜索结果页面选择“Navigation”→“Downloadfiles”选项,打开如图1-37所示的界面,然后选择对应的下载文件。五、模块导入在计算机程序的开发过程中,随着代码量的增加,将所有代码都放在一个文件里会使其越来越长、越来越难以维护。为了编写可维护的代码,我们可以把功能相关的函数和类进行分组,分别放在不同的文件中。在Python中,一个.py文件就是一个模块。任务三语法基础一、语法规范1. 行宽每行代码尽量控制在79个字符以内,以便在控制台查看代码,增强代码的可读性。2. 空行空行并不是Python语法的一部分,其作用主要是分隔两段不同功能或含义的代码,便于代码的维护或重构。通常,函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口。其他使用空行的情况如下。(1)模块级函数和定义类之间空两行。(2)类成员函数之间空一行。(3)函数中使用空行分隔逻辑相关的代码。3. 空格符号(1)在二元运算符两边各空一格,包括赋值(=)、增量赋值(+=、−=)、比较(==、!=、>、<)、布尔(and、or、not)和成员测试(in、isnot)等。(2)逗号、#、分号和冒号之后要有空格。(3)函数的参数在指定默认值的情况下,默认值等号两边不需要添加空格。(4)紧贴着左括号“(、[、{”之后及右括号“)、]、}”之前,不应有多余的空格。(5)字典对象的左括号之前不要有多余的空格。(6)不要为了对齐而使用额外的空格。二、标识符在程序编码的过程中,标识符用来标识变量、函数、类、模块或其他对象的名称。在Python中,标识符必须遵循特定的规则和约定。1. 标识符的组成规则2. 通用标识符规范[PEP8(PythonEnhancementProposal8)约定]3. Python中的特殊标识符(特殊约定)4. 类型标识符5. 标识符示例三、基本符号Python的语法简洁明了、可读性强,非常接近自然语言和数学表达式。本节介绍构成Python代码的基本语法元素。1. 命令提示符(1)交互式提示符(>>>)。(2)脚本文件。(3)常见初级错误。2. 缩进与许多编程语言不同,缩进在Python中不是可选项,而是语法的一部分。它用来定义代码块的层级关系(例如,哪些代码属于if语句,哪些代码属于一个函数)。(1)同一代码块内的所有语句必须保持完全相同的缩进量。(2)统一使用4个空格作为一级缩进。(3)在同一个文件中混合使用“Tab”键和“空格”键进行缩进,会导致IndentationError或不可预料的逻辑错误。3. 换行当一行代码过长时(PEP8规范建议每行不超过79个字符),需要进行换行以确保可读性。(1)括号内的隐式换行(推荐方式)。(2)使用反斜杠“\”显式换行。4. 语句规范(1)一行只写一条语句。为了使代码清晰,应避免使用分号并在同一行内写多条语句。(2)复合语句的换行与缩进。四、注释符号注释是代码中用于解释说明的文字,它们会被Python解释器完全忽略,不会对程序的执行产生任何影响。编写注释的主要目的是提高代码的可读性,以便自己或其他开发者快速理解代码的意图和逻辑。种类型的注释:单行注释和多行注释。1. 单行注释Python使用#(#开头,从#开始直到该行末尾的所有内容都属于注释)对多行代码的功能进行说明时,一般将注释放在代码的上一行;对单行代码的功能进行说明时,通常将注释放在代码的右侧。PEP8规范:代码右侧注释的#前应至少有两个空格,#后面应有一个空格。2. 多行注释多行注释内有多行内容(包含一行),通常用于为Python文件、模块、类或函数等添加版权或功能描述信息。五、头部声明与结构一个规范的Python脚本(.py文件)通常会在文件开头包含一些标准化声明,用于定义脚本的运行环境、编码方式和依赖项。这些声明共同构成了脚本的“头部”。1. Shebang行2. 编码声明3. 模块导入六、常量与变量常量和变量是程序中用来存储数据的基本构建块。它们通过一个易于记忆的名称(标识符)来代表程序需要处理的数据。1. 常量常量是指在程序运行期间,其值理论上不应该被改变的量。如数学中的π或一个项目中固定的配置项。2. 变量变量可以理解为程序中存储数据的“标签”或“名称”。为数据贴上一个标签(变量名),能在后续代码中方便地引用或操作这个数据。(1)变量的创建与赋值。(2)多重赋值。七、运算符运算符是编程语言中用于执行计算、比较和逻辑判断的特殊符号。将常量、变量、函数通过运算符连接起来,就构成了表达式。Python提供了丰富多样的运算符来满足各种计算需求。1. 赋值运算符2. 算术运算符3. 逻辑运算符4. 比较(关系)运算符5. 位运算符6. 成员运算符7. 身份运算符8. 运算符的优先级1.教学以学生学习教材的基本内容为主,系统全面地学习初识Python的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章系统讲解了Python入门核心知识,涵盖Python语言概述、3.14.0版本全新特性、Python与Anaconda环境安装配置、开发工具与库的使用方法,同时详细梳理了Python语法规范、标识符、注释、变量常量、运算符等基础核心语法。通过本章学习,可掌握Python开发环境搭建流程、标准库与第三方库的安装导入方式,熟悉规范化代码编写规则,厘清编程基础概念,为后续Python代码编写、功能开发与进阶学习奠定扎实的理论与实操基础。《Python程序设计基础项目化教程》课程教案课题:项目二 PyCharm基础知识教学目的:1.深刻认识到熟悉Python环境、掌握Python的基本概念是后续所有编程实践的基石,从而培养脚踏实地、循序渐进的学习品格。2.通过学习Python严格的语法规范,理解计算机程序对精确性的要求,进而在实践中养成一丝不苟、严谨细致的科学态度。3.通过了解Python标准库与第三方库,理解开源社区的协作模式与共享精神。4.掌握Python环境的搭建与配置。5.理解Python的生态系统与模块化编程。6.掌握Python的核心语法基础与编码规范。课型:新授课课时:本章安排6个课时。教学重点:重点:掌握Python环境的搭建与配置。教学难点:难点:理解Python的生态系统与模块化编程。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题PyCharm基础知识课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境PyCharm是专为Python开发者设计的一款强大的集成开发环境。编写代码仅仅是软件开发的一部分,一名专业的开发者需要花费大量时间在项目的管理、程序的运行、错误的排查,以及功能的扩展上。PyCharm正是为此而生,它提供了一整套高效的工具来支持这些关键环节。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一PyCharm从安装到运行一、PyCharm下载和安装为了显著提升Python项目的开发与管理效率,推荐使用PyCharm这款强大的集成开发环境。PyCharm由知名软件公司JetBrains专为Python语言开发打造,集成了一整套能极大提高生产力的工具。它提供了智能代码编辑器、强大的调试器、语法高亮、项目管理、代码导航、智能提示,以及自动补全等核心功能,能帮助开发者更高效地编写和维护Python代码。1. 下载PyCharm访问JetBrains的PyCharm官方网站进行下载,如图2-2所示。2. 安装PyCharm双击PyCharm-2025.2.3.exe文件,弹出安装界面,如图2-3所示。3. 配置PyCharm双击桌面上的PyCharm图标,运行“PyCharm2025.2.3”,激活“PyCharm2025.2”启动界面,如图2-9所示。然后进入“语言和区域”选择界面,默认选择中文语言包和中国大陆,如图2-10所示。二、项目文件创建在Python开发中,每个项目通常以一个专属的文件夹为根目录,这有助于代码和资源的集中管理。为每个项目创建一个专用的虚拟环境,是Python开发的一个标准且必要的操作。本书后续的所有练习和项目,都将在独立的虚拟环境中进行。1. 创建第一个Python项目下面介绍在PyCharm中创建一个新的项目文件夹,并同时为这个项目配置一个专用的虚拟环境。这个环境将服务于该项目下的所有代码文件。(1)项目venv。(2)基础conda。(3)自定义环境。可以将此选项理解为“高级模式”,它提供了更灵活的环境配置方式,包含“生成新的”和“选择现有”两个选项,如图2-17所示。2. 项目文件结构一个完整的Python项目,其文件夹结构通常包含以下两个部分。三、创建Python文件在PyCharm项目中,所有的Python代码都需要在文件中编写和保存。本节将介绍如何创建项目中最核心的文件类型—Python文件(.py文件)。1. Python文件/目录类型Python项目中可创建的文件/目录类型主要分为以下几种。四、运行Python文件编写完代码后,下一步就是执行代码,观察运行结果。PyCharm提供了多种灵活、便捷的方式来运行Python文件(.py脚本)。任务二程序的调试一、两类常见错误学习编程就像学习一门新的语言,难免会出现错误。在Python中,最常遇到的错误可以分为两大类:语法错误和运行时错误(也叫异常)。理解它们的区别,能帮助学习者更快地找到并解决问题。1. 语法错误(SyntaxError)语法错误,就像写作文时出现的错别字、标点符号用错或语句不通顺。它是指编写的代码不符合Python语言的基本规定和格式,这是初学者经常碰到的错误。(1)忘记写符号(2)使用了中文标点(3)缩进不正确(IndentationError,是语法错误的一种特殊形式)2. 运行时错误(Exception)运行时错误,也叫“异常”,指的是代码的语法完全正确,但当程序运行到某一步时,因为一些特殊情况而无法继续运行。就像一辆汽车本身没有问题,但在路上遇到了死胡同,只能停下来。程序会从第一行开始执行,直到错误的一行才会停止,并报告一个异常。程序停止时,会打印出错误的类型和原因,我们需要根据这些信息找到问题的根源。(1)除数为零(ZeroDivisionError)(2)使用了未定义的变量(NameError)(3)类型不匹配(TypeError)(4)索引越界(IndexError)二、基本调试功能PyCharm不仅是一个代码编辑器,更是一个强大的智能编码助手。其最核心的功能之一,就是在编写代码的过程中,进行实时的静态代码分析。这意味着在尝试运行程序之前,PyCharm就已经像一位经验丰富的程序员一样,审查了代码,并指出了其中潜在的语法错误、风格问题和逻辑缺陷。1. 发现问题这个功能主要通过编辑器窗口右上角的代码分析状态图标和代码中的高亮提示来体现。2. 调试问题PyCharm不仅能发现问题,还能提供流畅的解决方案。(1)实时高亮提示。(2)悬停查看详情。(3)使用“问题”面板处理。三、断点调试当程序能够运行但结果错误时,就需要使用“断点调试”来排查逻辑错误。断点调试可以将程序暂停在代码的任意位置(断点),然后一步步地执行代码,并实时查看每个变量在内存中的真实值,从而找到逻辑出错的根源。断点调试的基本流程如下。1.设置断点在希望程序暂停的代码行号左侧空白处,单击鼠标左键,即可添加一个红色圆点🔴,这就是断点,如图2-30所示。2.启动调试会话单击顶部工具栏的“调试”按钮🐞(或按快捷键Shift+F9)来启动程序。程序运行到第一个断点处会自动暂停,并弹出底部的“调试”面板,在“线程和变量”选项下显示该断点之前的变量信息,如图2-31所示。3.使用调试控制器控制流程在“调试”面板顶部,有一组核心的控制按钮,用于指挥程序的执行。任务三包管理一、在PyCharm对话框中安装第三方库进行数据分析时,经常需要用到像NumPy和Pandas这样的强大库。一般情况下在PyCharm对话框中安装后就可以直接使用了。二、使用PyCharm的内置终端安装PyCharm内置的“终端”工具是一个集成在PyCharm内部的命令窗口。使用终端来管理包,是很多经验丰富的程序员更喜欢的方式,因为它更直接、更高效,并且能更清楚地查看完整的安装过程信息。1. 打开终端在PyCharm界面的左侧最下方工具栏中,单击“终端”按钮,即可打开终端窗口,如图2-39所示。2. 常用包管理命令在已激活虚拟环境的终端中,主要使用pip命令来管理包。(1)安装第三方库(pipinstall)。(2)安装指定版本的库。(3)卸载库(pipuninstall)。(4)查看已安装的库(piplist)。(5)更新pip。1.教学以学生学习教材的基本内容为主,系统全面地学习PyCharm基础知识的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章主要讲解了PyCharm开发工具使用、程序调试方法与Python包管理核心知识,详细介绍了PyCharm的下载安装、环境配置、项目与Python文件创建及代码运行的完整流程,区分了语法错误和运行时错误两类常见编程问题,讲解了PyCharm静态查错、断点调试的实操方法,同时介绍了可视化界面和终端pip命令两种第三方库安装管理方式,帮助学习者熟练掌握Python开发实操技能,为后续项目开发、代码排错和功能拓展提供实操支撑。《Python程序设计基础项目化教程》课程教案课题:项目三 数据类型和程序设计教学目的:1.培养严谨求实的科学态度和职业精神,通过编写精确、高效的代码(如计算圆周率案例)2.解决实际问题。3.在数据处理(如文本文件写入、数据去重)中,强调数据安全与隐私保护意识,树立正确的科技伦理观。4.通过自主探索解决编程难题,培养学生的创新精神和直面挑战的良好品格。5.理解并掌握Python核心数据类型的定义、特点及适用场景。6.熟练运用各种数据类型的创建、访问、修改和删除等基本操作。7.能够使用函数进行数据类型转换,并格式化输出。8.能够运用顺序、分支和循环三种基本程序结构来设计和实现算法。9.熟练使用条件语句、循环语句及控制流程。课型:新授课课时:本章安排6个课时。教学重点:重点:能够使用函数进行数据类型转换,并格式化输出。教学难点:难点:熟练使用条件语句、循环语句及控制流程。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题数据类型和程序设计课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境本项目聚焦于编程的两个核心基础:数据类型与程序结构。数据类型是程序能够正确处理信息的前提。控制代码执行逻辑包括三种基本方式—顺序、分支和循环。本项目的学习,要求读者能综合运用这两方面的知识,构建逻辑清晰、能够解决简单问题的规范程序。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一数字类型一、数字类型分类数字类型是数学中常见的数据类型,是Python程序设计运行的基础。在程序设计中,可根据需求定义不同的数字类型,也可对指定的数值进行类型转换。在Python中,数字(如整数、浮点数)属于不可变类型。这意味着一个数字对象一旦创建,它的值就不能被修改。例如,先执行var=10,再执行var=20,并不是改变了数字10本身的值,而是让变量var不再指向10,转而指向了另一个值为20的数字对象。1. 整数型在Python3中,整数型是int。与某些语言不同,Python的整数没有固定的大小限制(如4个字节或8个字节)。它可以根据数字的大小自动扩展,以表示任意大的整数,其精度仅受限于计算机的内存。无论是三位数还是几十位的超大数字,都可以用整数型来存储。2. 浮点型浮点型数据只采用十进制,有两种形式:十进制数形式和指数形式。(1)十进制数形式。(2)指数形式。3. 布尔型布尔型数据在Python中是一个非常重要的概念。布尔型数据只有两个值,即真(True)和假(False)。在Python中,可以直接使用这两个值,也可以通过布尔运算得到布尔型数据。#直接定义布尔型变量bool_var1=Truebool_var2=False在Python中,bool是int的子类(继承int),故True==1和False==0返回True。4. 复数型Python支持复数运算。复数在数学中通常写作a+bi,其中a是实部,b是虚部。注意:在Python代码中,虚数单位使用j或J来表示,而不是数学中常用的i。(1)创建复数。(2)获取实部和虚部。5. 数据输入与输出程序需要与用户进行交互。Python提供了input()函数来获取用户输入,print()函数用来向屏幕输出信息。二、数据类型转换在程序运行过程中,经常需要将一种数据类型转换为另一种。例如,通过input()函数获取的数字是字符串类型,必须先将其转换为整数或浮点数,才能进行数学运算。Python提供了一系列内置函数,便于在不同数据类型之间进行转换,详见表3-2。任务二数据容器一、字符串字符串是Python中最常用、最重要的数据类型之一。它本质上是一个由字符(如字母、数字、符号等)组成的有序序列,专门用来表示和处理文本信息。从一个简单的名字、一条用户消息,到一个网页的全部内容或一个文件的路径,在程序中都是通过字符串来呈现的。1. 创建字符串2. 访问和截取字符串中的值字符串是一个有序的字符序列,可以通过索引来访问其中的特定字符,或者通过切片来截取一部分子字符串。(1)访问单个字符。(2)截取子字符串(切片)。二、列表Python的列表(List)是一种有序且可变的数据集合。它使用中括号“[]”创建,元素之间用逗号“,”隔开。列表的一大特点是灵活性高,可以包含任意数据类型的元素,并且元素的数量和内容都可以在程序运行时被修改。1. 列表定义2. 列表索引与切片列表中值的切片也可以用到变量[头下标:尾下标],就可以截取相应的列表,从左到右索引默认从0开始,从右到左索引默认从-1开始,下标可以为空表示取到头或尾。3. 列表常用函数列表作为一种非常灵活的数据类型,支持多种多样的操作。可以将这些操作分为两大类:运算符与内置函数及列表专属的方法。三、区间在Python中,range()可以生成一个整数序列。它不是一个列表,而是一个特殊的、能够按需生成数字的可迭代对象。函数调用格式如下:四、元组元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组的创建包括两种方法。1. 直接创建2. 使用tuple()函数创建元组五、字典字典是Python中非常灵活且重要的数据结构。它是一个有序的、可变的键值对集合。与列表通过数字索引访问元素不同,字典是通过唯一的“键”来查找对应的“值”,这使得它在存储和查找关联信息时极为高效。1. 使用大括号“{}”创建2. 使用dict.fromkeys()方法创建使用dict.fromkeys()方法可快速创建一个新字典,它会使用一个序列中的所有元素作为字典的键,并为这些键指定一个统一的初始值。3. 使用dict()构造函数创建使用dict()构造函数也是一种非常灵活的创建字典的方式,它支持多种不同的数据传入格式。下面介绍几种主要用法。(1)通过关键字参数创建。(2)通过包含键值对的序列创建。(3)通过zip()函数组合键和值创建。4. 字典的基本操作创建字典后,可以对其进行查、改、增、删等一系列常用操作。六、集合集合(set)是Python中一种重要的数据类型,它有两个核心特点:集合中的元素没有固定的顺序,因此不能通过索引来访问它们;集合中不允许包含重复的元素。这两个特点使得集合在去重和测试成员关系时非常高效。1. 创建集合在Python中,可以通过两种主要方式来创建集合,它们分别适用于不同的场景。(1)set()函数创建。(2)大括号“{}”创建。2. 修改集合Python的集合是可变的,所以它提供了一套丰富的方法,方便进行元素的添加、删除等操作。表3-6总结了最常用的集合修改方法。3. 集合的数学运算集合最强大的功能之一,在于能高效执行标准的数学集合运算,这在分析和处理两组或多组数据之间的关系时非常实用。例如,可以快速找出同时选修两门课程的学生(交集),或者合并两个活动小组的所有成员并自动去重(并集)。任务三程序结构一、表达式与语句在学习任何编程语言时,理解“表达式”和“语句”这两个基本构件至关重要。可以用一个简单的类比来理解:● 表达式:如同一个有值的短语,如“2加2”。● 语句:如同一个执行动作的完整句子,如“把2加2的结果赋给变量x”。1. 表达式表达式是常量、变量、函数调用和运算符的组合,其最终会被Python“计算”出一个值。表达式的核心在于它总能返回一个结果。2. 语句在Python中,每行代码通常都是一个语句,它是程序执行的一个完整指令,比如赋值语句a=10或print()调用。简单地说,一个语句是Python可以执行的一个完整指令,用于执行一个特定的动作。最常见的语句类型如下:(1)赋值语句。(2)表达式语句。二、顺序结构顺序结构是程序最基本、最自然的执行流程。在该结构中,代码会严格按照从上到下的书写顺序逐行执行,不存在任何跳转或重复执行的情况。顺序结构是所有程序的基础,但仅依靠顺序结构往往无法解决复杂问题。在很多情况下,需要根据特定条件判断该执行哪部分代码,此时就要用到接下来学习的选择结构。三、选择结构选择结构是指根据表达式值的情况来选择执行哪些语句。通常在编写较复杂的算法时会用到该结构。其中较常用的是if-else结构,该结构也是复杂结构中最常用的一种分支结构。Python选择结构分为单分支结构、二分支结构和多分支结构,它有以下三种形式。1. 单分支结构:if2. 二分支结构:if-else3. 多分支结构:if-elif-else四、循环结构在利用Python进行数值实验或工程计算时,用得最多的便是循环结构了。在循环结构中,被重复执行的语句组称为循环体。常用的循环结构有两种:for循环与while循环,下面分别介绍其用法。1. for循环2. while循环五、程序的流程控制在利用Python编程解决实际问题时,有时不需要让循环完整地执行到结束,而是需要提前终止for或while循环结构。例如,当我们在一个列表中查找某个数据时,一旦找到,就没有必要再继续检查后面的元素了;在处理一批文件时,我们可能想跳过某些无效文件,只处理有效文件。为了实现这种提前终止或跳过某次循环的需求,Python提供了break和continue这两个流程控制语句。1. break命令2. continue命令1.教学以学生学习教材的基本内容为主,系统全面地学习数据类型和程序设计的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章重点讲解了Python基础核心知识,首先介绍了整数、浮点数、布尔、复数等基础数字类型及数据类型转换方法;其次系统学习了字符串、列表、元组、字典、集合等常用数据容器的特性、创建方式与核心操作;最后阐述了表达式与语句的区别,讲解了顺序、选择、循环三大程序结构,以及break、continue流程控制语句,夯实了Python数据处理与程序逻辑编写的基础。《Python程序设计基础项目化教程》课程教案课题:项目四 字符串操作教学目的:1.在进行数据清洗与格式化操作时,培养严谨务实、尊重数据的科学态度,做到一丝不苟。2.习与运用正则表达式等高级工具时,培养解决复杂问题的创新精神与精益求精的工匠精神。3.运用字符串对象的常用内置方法。4.字符编码与解码的基本概念,掌握encode()方法和decode()方法的用法。5.正则表达式的核心思想,掌握其常用元字符的语法规则。6.运用re模块的核心函数,实现高级文本模式匹配。课型:新授课课时:本章安排6个课时。教学重点:重点:字符编码与解码的基本概念,掌握encode()方法和decode()方法的用法。教学难点:难点:运用re模块的核心函数,实现高级文本模式匹配。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题字符串操作课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境高效处理文本是编程的核心技能之一。本章将系统讲解Python强大的字符串操作能力:首先学习字符串自带的内置方法,用于完成日常的文本清理、分割与替换任务;随后深入学习正则表达式(re模块),掌握基于复杂模式进行高级查找、验证和修改的技术,为后续数据处理工作打下坚实基础。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一字符串的常用处理方法一、字符串的格式化与构建在处理字符串时,经常需要将变量的值嵌入一段固定的文本中,这个过程称为“字符串格式化”。Python提供了多种实现方式,其中f-string是最便捷的一种,而Python3.14版本中新增的t-string则赋予其更强的灵活性和安全性。1. f-string:快速格式化2. t-string:更安全灵活的模板二、查找、统计与判断在处理文本数据时,经常需要对字符串进行分析,如定位特定子串、计算其出现频率或判断其是否符合预设的格式规范。为了满足这些需求,Python为字符串对象提供了一系列功能强大的方法。这些操作的共同特点是它们不会改变原始字符串,而是返回一个全新的结果(如索引位置、计数值或布尔值),从而保证了数据的完整性和可预测性。1. 查找与统计在字符串中进行查找、统计和替换操作是文本处理中最基础也是最常用的一环,如在文档中定位关键词、统计词频或修正错别字。Python为此提供了多个便捷的方法,具体功能如表4-1所示。2. 内容判断这类方法用于判断整个字符串是否符合某种特征(如纯数字、纯字母等),它们都返回布尔值True或False。在Python中,字符串内容判断的方法如表4-2所示。三、修改、清理与替换当获取到用户输入或从文件中读取字符串时,数据往往不是我们期望的格式。可能存在多余的空格,大小写不统一,或者需要将某些词替换掉。Python字符串提供了一系列方法来轻松完成这些修改、清理和替换任务。1. 字符串的清理清理字符串主要是指去除字符串首尾或中间多余的空白字符(包括空格、制表符“\t”、换行符“\n”等),这是数据预处理中非常常见的一步,具体方法如表4-3所示。2. 字符串大小写的规范化在实际应用中,有可能需要对字符串中字母的大小写进行转换和比较,具体方法如表4-4所示。3. 字符串的替换替换是字符串处理中非常常见的操作,用于将字符串中的特定部分(子字符串)更换为新的内容。Python提供了多种方法来实现这一功能,具体方法如表4-5所示。其中最常用的是replace()方法。对于更复杂的单字符多点替换或移除,可以使用translate()方法。四、分割与合并在处理文本数据时,我们经常需要将一个长字符串拆分成多个部分,或者反过来,将多个字符串组合成一个长字符串。例如,将一个句子分解为单词列表,或者将一个单词列表组合成一个完整的句子。Python提供了高效的方法来完成这两项任务。1. 字符串的分割分割是将一个字符串按照指定的分隔符切分成一个包含多个子字符串的列表,具体方法如表4-6所示。2. 字符串的合并合并是分割的逆操作,它使用一个指定的分隔符,将一个序列(如列表)中的所有字符串元素连接成一个新的、单一的字符串,具体可见表4-7。五、字符串编解码计算机只能理解由0和1组成的字节,它并不认识人类使用的文字字符,如“A”“好”等。为了让人们能看懂计算机语言,也让计算机理解我们的指令,需要进行编码和解码。1. 两种文本类型:str与bytes可以把编码想象成“加密”、解码想象成“解密”,而编码格式就是双方约定好的“密码本”。如果密码本不一致,就会导致信息无法正确读取,也就是常说的“乱码”。2. str和bytes转换方法Python为str和bytes对象分别提供了转换方法。(1)编码。(2)解码。3. 常见的编码格式字符串编解码用于保存数据和传输数据,中文输入时若没有进行正确的编解码,很容易出现像乱码一样的字符串。编码的格式与解码的格式必须保持一致。任务二re模块高级文本匹配一、正则表达式常用元字符元字符是赋予正则表达式强大功能的特殊符号,它们不是匹配自身,而是有特殊的含义。掌握了它们,就等于学会了正则表达式的“字母表”。1. 匹配单个字符这类元字符用于匹配某一特定类型的字符。它们通常是成对出现的,一个表示“匹配”,另一个(通常是大写)表示“不匹配”。常用单字符匹配元字符如表4-8所示。3. 边界匹配有时,不仅需要关注匹配的内容,还要关注它出现在字符串的哪个位置。边界匹配元字符不匹配任何字符,只匹配特定的位置。二、字符串查找查找是正则表达式最核心的应用。re模块提供了几个功能相似但各有侧重的查找函数:findall()、search()、match()和finditer()等。1. 使用findall进行查找2. 使用search进行查找3. 使用match进行查找4. 使用finditer进行查找三、字符串替换字符串对象的replace()方法用于替换确定内容的固定子串。当替换目标需要通过一个抽象的模式来描述时,如替换所有数字或特定格式的日期,replace()方法便无法满足需求。四、字符串分割字符串对象的split()方法适用于按固定分隔符进行分割。然而,当分割依据是一个复杂的模式,或者需要同时处理多种不同的分隔符时,split()方法便显得功能不足。1.教学以学生学习教材的基本内容为主,系统全面地学习字符串操作的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章主要讲解了Python字符串的全套处理方法与re模块正则匹配技术,涵盖f-string、t-string字符串格式化,以及字符串的查找判断、清理替换、分割合并、编解码等常用操作。同时介绍了正则表达式元字符的用法,以及re模块的查找、替换、分割等高级文本处理功能,可高效完成复杂文本清洗与匹配任务,是Python数据预处理的核心技能。《Python程序设计基础项目化教程》课程教案课题:项目五 函数与模块化编程教学目的:1.通过学习将具体代码封装成抽象的函数,引导学生理解从具体到抽象的思维方式,培养化繁为简、提纲挈领解决复杂问题的能力。2.学习创建和使用模块,让学生认识到现代软件开发是基于模块化协作的工程活动,理解“高内聚,低耦合”的设计理念,为其未来参与团队协作打下工程伦理和规范意识方面的基础。3.函数的定义与调用方法。4.理解变量作用域(局部与全局)的概念。5.熟练运用不同类型的函数参数(位置、默认、可变参数)。6.初步了解模块化编程思想,学会创建并使用自己的模块。课型:新授课课时:本章安排6个课时。教学重点:重点:理解变量作用域(局部与全局)的概念。教学难点:难点:熟练运用不同类型的函数参数(位置、默认、可变参数)。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题函数与模块化编程课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境在之前的项目中,编写的代码都是按从上到下的顺序执行的。当程序变得复杂时,这种方式会导致代码冗长且难以维护。本章将学习程序设计的核心利器—函数。函数能将特定功能的代码块封装起来,方便我们随时调用,就像积木一样。通过对定义函数、传递参数的学习,和对变量作用域的理解,我们将学会编写更简洁、更结构化的程序。最终,我们还会学习如何将自己编写的函数组织成一个模块,为构建大型项目打下坚实的基础。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一函数的定义与使用一、定义与调用函数函数是一段封装了特定功能、可以重复使用的代码块。Python内置了许多有用的函数(如print()、len()),用户可以根据需要创建,这被称为自定义函数。1. 函数的定义使用def关键字来定义一个函数。2. 函数的调用定义函数后,通过“函数名()”的形式来调用。二、变量的作用域变量的作用域是指变量能够生效的范围。在函数内外定义的变量,其作用范围是不同的。1. 局部变量在函数内部定义的变量,就是局部变量。它只在当前函数内部有效,函数执行结束后就会被销毁。2. 全局变量在函数外部(通常是程序的顶层)定义的变量,就是全局变量。它在整个程序范围内都有效。任务二函数的参数一、位置参数与关键字参数参数的传递方式会直接影响代码的灵活性与可读性。为了让函数调用更加精确和易于理解,Python提供了两种最主要的参数传递机制:位置参数与关键字参数。1. 位置参数位置参数是Python函数中最基础、最常用的参数类型。它的核心规则是:调用函数时,提供的实参会严格按照前后顺序,依次赋值给函数定义中对应的形参。2. 关键字参数关键字参数是Python提供的另一种向函数传递参数的方式。它通过“形参名=实参值”的格式来指定每个实参应该赋值给哪个形参。使用关键字参数无须依赖参数的位置顺序,而是通过形参的名称进行精确匹配,从而使函数调用更加清晰,可读性更高。3. 混合使用:位置参数与关键字参数二、默认参数在定义函数时,可以为某些参数提供一个默认值。如果在调用函数时,调用者没有为该参数提供新的实参,那么Python解释器就会自动使用这个预设的默认值。这种机制使得函数在调用某些参数时成为可选项,极大地增加了灵活性。但需要注意的是,默认参数的定义必须遵守一条严格的语法规则:所有默认参数都必须位于位置参数(必选参数)之后。三、可变参数在前面章节中,定义的函数都有固定数量的参数。然而,在实际编程中,常常会遇到一种情况:无法预先确定要传递给函数的参数有多少个。例如,编写一个求和函数,它既能计算sum(1,2),也能计算sum(1,2,3,4,5)。为了解决这类问题,Python提供了可变参数机制:向函数传递任意数量的参数。Python主要支持两种类型的可变参数:● *args:用于接收任意数量的位置参数。● **kwargs:用于接收任意数量的关键字参数。1. *args在函数定义的参数名前加上一个星号“*”,该参数就会变成一个“可变位置参数”。它会收集所有在调用时传入的多余的、未被其他形参接收的位置参数,并将它们打包成一个元组(tuple)。按照惯例,通常将其命名为*args(arguments的缩写),但这并非强制,*numbers或*values也是完全合法的。关键在于参数名前的星号“*”。2. **kwargs任务三模块化编程一、创建与使用模块通常情况下,可以将一组相关的函数和变量定义在一个模块文件中,然后在另一个主程序文件中通过关键字“import”导入并使用它们。(1)创建模块文件。(2)创建主程序文件。二、不同的导入方式除了import模块名,Python还提供了其他导入方式,以满足不同的需求。1. from...import...语句2. 使用as指定别名1.教学以学生学习教材的基本内容为主,系统全面地学习函数与模块化编程的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章主要介绍了Python函数与模块化编程知识,讲解了自定义函数的定义与调用方法、局部变量和全局变量的作用域区别。详细阐述了位置参数、关键字参数、默认参数以及*args、**kwargs可变参数的使用规则,同时介绍了模块的创建、导入及别名设置等模块化编程技巧,帮助实现代码复用与程序结构化,提升代码规范性与可维护性。《Python程序设计基础项目化教程》课程教案课题:项目六 面向对象编程入门教学目的:1.学习将现实事物抽象为程序中的“类”,引导学生建立系统性思维,培养化繁为简、解决复杂问题的能力。2.通过学习“封装”与“多态”,理解规则与接口在系统协作中的重要性,培养学生在团队协作中的责任感和规范意识。3.通过学习“继承”,引导学生认识到创新应建立在继承优秀成果的基础上,树立正确的守正创新观念。4.理解类(class)与对象(object)的概念。5.理解__init__构造方法和self参数的核心作用。6.掌握定义一个基本类的方法,包括属性和方法的创建。7.初步掌握面向对象的三大特性:封装、继承与多态。课型:新授课课时:本章安排6个课时。教学重点:重点:理解类(class)与对象(object)的概念。教学难点:难点:初步掌握面向对象的三大特性:封装、继承与多态。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题面向对象编程入门课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境在之前的学习中,编写程序更像是一系列步骤的清单,告诉计算机“先做什么,再做什么”。这种方式在处理简单任务时很有效。但是,当程序需要处理复杂的事情时,比如管理一个班级的学生信息,这种“清单式”的写法就会变得混乱。面向对象程序设计(Object-OrientedProgramming,简称OOP)提供了一种更符合我们日常思维的编程方式。它的核心很简单:把程序看作是不同“事物”的组合,而不是步骤的组合。这不仅能让代码结构更清晰、更易于管理,也是编写大型、复杂程序的必备技能。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一类与对象的基础一、类与对象在之前的编程中,使用的变量和函数是分开的。例如,要记录一个学生的信息,可能需要定义多个变量:student_name="张三"、student_age=18、student_score=95。学生数量越多,管理这些零散的变量就会越麻烦。面向对象编程可以解决这个问题,它的核心是将相关的数据与操作这些数据的功能组织在一起,这就需要用到类与对象。1. 类(Class)类是一种自定义的数据类型结构,作用是规定一类事物包含的数据项以及可对这些数据执行的操作。例如,可以定义一个Student类,规定“学生”这类数据必须包含“姓名”“年龄”和“成绩”等信息。类本身只是一种结构定义,不包含任何具体的数据。它是一个抽象模板,用于描述具有共同特征和行为的一类实体。以“学生”为例,可以将其抽象成一个Student类:● 共同特征(属性):所有学生都有姓名、年龄、成绩等信息,将这些信息定义为类的属性。● 共同行为(方法):所有学生都能进行“自我介绍”或“查询成绩”等操作,将这些操作定义为类的方法。一旦定义了Student这个抽象的类,就可以根据它创建无数个具体的“学生”对象,如“张三”对象、“李四”对象,每个对象都拥有自己独立的属性值。2. 对象(Object)对象是根据类的规定创建的具体实例。如果说Student类是一种我们自定义的数据类型,那么一个具体的学生,比如“张三”,就是这个类型的一个变量,这个变量就叫作对象。二、类的定义在Python中,使用class关键字来定义一个类。类定义了创建的数据类型的结构和功能。三、创建对象(实例化)定义类之后,就相当于有了一种新的数据类型。接下来,要学习如何使用这个类来创建具体的变量,也就是对象。四、构造方法_init_和self在案例2中,我们创建了两个“空”的学生对象,它没有任何具体信息,如姓名、年龄等。为了在创建对象的同时就赋予它初始数据,需要使用一个特殊的方法—构造方法。1. 构造方法__init__2. self参数3. 在__init__中定义属性五、属性和方法类是属性和方法的集合。对象被创建后,就拥有了这些属性和方法。这种将数据和操作数据的功能打包在一起的组织方式,是面向对象编程的核心,它能让程序结构更加清晰、易维护。1. 属性属性是存储在对象内部、用于描述对象具体特征的数据。例如,对于一个Student对象,它的属性可以包括姓名、年龄、学号、成绩等。对于一个Car对象,它的属性可以包括颜色、品牌、型号等。使用属性最大的好处是,所有与某个对象相关的数据都被集中存储在对象自身。例如,student1对象包含了全部信息(姓名、年龄等),无须额外管理一堆分散的变量。2. 方法前面已经学习了属性,它负责存储对象的数据。但光有数据,程序还是不够强大。还需要定义一些功能,来操作和处理这些数据。任务二面向对象的三大特性一、封装封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把客观事物封装成抽象的类,类可以只让可信的类或对象操作自己的数据和方法,并对不可信的类或对象进行信息隐藏。例如,你的银行账户里有多少钱(数据),银行是不会让任何人直接修改的。必须通过银行提供的固定操作,如“存款”或“取款”(功能),才能安全地改变余额。这两个操作就类似于面向对象编程中的封装。封装的最大好处是提高了代码的安全性。就像银行的制度保护了资金安全一样,封装也保护了程序中的数据不被意外地弄乱。在Python中,通过一个简单的命名约定即可实现封装和信息隐藏。1. 类的私有属性如果希望某个属性不被外部直接访问,可以在定义它时,在属性名前加上两个下画线__。格式为self.__private_attribute。声明该属性为私有。在类的外部,你无法通过对象名.__private_attribute的方式来访问它。在类的内部,其他方法仍然可以通过self.__private_attribute来正常使用这个属性。2. 类的私有方法同理,如果某个方法只希望在类的内部被其他方法调用,不希望外部直接使用,可以在方法名前加上两个下画线__。格式为def__private_method(self)。声明该方法为私有。在类的外部,你无法通过“对象名.__private_method()”的方式来调用它。在类的内部,其他方法可以通过“self.__private_method()”来调用这个私有方法。私有方法通常用来辅助完成某个公开方法内部的、比较复杂的子任务。二、继承继承的核心是将子类共有的属性和行为抽象到父类中,子类仅定义自身特有的属性和行为,以此实现代码的复用,从而提高开发效率。Python同样支持类的继承,即便一种语言不支持继承,类本身也依然具备封装等价值,并非没有意义。1. 派生类是利用继承机制从已有的类中派生出的新类,用于派生的原有类,则被称为该派生类的基类(或父类)。2. 多继承三、多态在面向对象编程(OOP)中,多态是指不同类的对象可以通过统一的接口进行操作,而这些对象各自的逻辑响应同一消息或方法调用。多态性使程序具有更好的灵活性和扩展性,可以在不修改现有代码的情况下新增同类型的对象。在Python中,多态通常是通过继承和子类重写父类的方法来实现的。实现多态的步骤如下。(1)定义一个基类(父类),其中包含需要被继承的方法。(2)定义多个子类(派生类),每个子类都继承自基类,并重写基类中的方法。(3)创建一个函数或方法,该函数或方法接受基类作为参数,并在函数内部调用基类的方法。(4)将不同的子类实例传递给该函数或方法,实现多态性。(1)启动PyCharm,打开名为“yuanwenjian”的项目,在该项目下的ch_06中新建一个名为“python06_08.py”的Python文件。1.教学以学生学习教材的基本内容为主,系统全面地学习面向对象编程入门的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章讲解了Python面向对象编程的核心知识,介绍了类与对象的概念、类的定义、对象实例化、构造方法与self参数,区分了对象属性与方法。同时重点讲解了面向对象三大核心特性:封装可隐藏内部数据、保障代码安全;继承可复用父类代码、提升开发效率;多态通过重写方法实现统一接口多种实现,有效增强了程序的灵活性与扩展性。《Python程序设计基础项目化教程》课程教案课题:项目七 科学计算与数据分析基础教学目的:1.在处理大规模数据时,体会计算机科学的效率与魅力,培养学生利用技术工具解决实际问题的创新精神。2.通过学习结构化数据处理,培养学生严谨的逻辑思维和注重细节、精益求精的工匠精神。3.掌握NumPy库的N维数组、向量化运算、索引与切片。4.掌握Pandas库的Series(一维带标签数组)和DataFrame(二维表格)操作。课型:新授课课时:本章安排6个课时。教学重点:重点:掌握NumPy库的N维数组、向量化运算、索引与切片。教学难点:难点:掌握Pandas库的Series(一维带标签数组)和DataFrame(二维表格)操作。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题科学计算与数据分析基础课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境在日常编程中,Python的列表可以处理小规模的数据。但当需要对成千上万个数字进行高效的数学运算,或者像操作Excel一样管理复杂的表格数据时,就需要更专业的工具。本章将重点学习两个Python数据处理的核心第三方库:NumPy和Pandas。先学习NumPy库,掌握其创建高性能数组及进行快速批量计算的方法。在此基础上,再学习Pandas库,利用其强大的DataFrame表格结构,进行更复杂的数据管理、选择和初步分析,为进入数据处理领域打下坚实的基础。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式任务一科学计算—NumPy一、创建NumPy数组学习NumPy的第一步,就是掌握如何创建其核心的数据结构—ndarray对象。NumPy提供了多种灵活的创建方式,以适配不同的需求。1. array函数这是最基础、最直接的创建方式,它可以将Python的列表(list)、元组(tuple)等序列类型的数据转换为NumPy数组。2. 内置函数快速生成数组当需要创建有规律的或特定结构的数组时,手动创建列表会很麻烦。NumPy为此提供了多种函数,可以快速生成数组,如表7-1所示。二、查看数组的基本属性创建数组后,可以通过数组的属性来查看它的基本信息,NumPy数组的ndarray对象属性如表7-2所示。三、数组运算与索引在学会了如何创建和查看NumPy数组之后,接下来学习如何高效地操作和访问数组中的数据。这主要通过两个核心机制来实现:向量化运算和索引与切片。1. 向量化运算向量化是NumPy最核心、最强大的特性,它可以直接对整个数组执行数学运算,无须通过for循环来逐个处理元素。主要运算类型如下:(1)数组与标量(单个数字)的运算。当一个数组与一个单独的数字进行运算时,这个数字会自动“广播”到数组的每个元素,并逐个进行运算。arr+5(每个元素都加5)arr*10(每个元素都乘以10)arr>80(每个元素与80进行比较,返回一个布尔类型的数组)(2)形状相同的数组之间的运算。当两个数组的形状完全相同时,运算会按对应位置的元素逐一进行。arr1+arr2(对应元素相加)arr1*arr2(对应元素相乘)(3)常用聚合函数。NumPy内置了丰富的统计聚合函数,对整个数组或数组的指定轴进行计算,常用聚合函数如表7-3所示。2. 索引与切片索引与切片是从数组中选取我们感兴趣的数据的核心手段。NumPy的索引机制与Python列表类似,但功能更强大(尤其是在处理多维数组时)。(1)一维数组的索引。(2)二维数组的索引。任务二数据分析—Pandas一、一维数组SeriesSeries是Pandas中最基础的数据结构。可以把它想象成“智能版”的一维数组或Excel表格中的一列。它由如下两部分组成。● 一组数据(values),其底层通常是一个NumPy数组。● 一组与之对应的数据标签(index),也就是索引。这个带标签的索引是Series最核心的特性,能够使用有意义的标签(而不仅是0,1,2...)来访问和操作数据。1. 创建Series2. 属性与带标签的索引创建Series对象后,可以通过使用它的索引来便捷地访问数据,Series常用属性如表7-5所示。3. Series的常用操作Series不仅是一个带标签的数据容器,它还内置了大量便捷的方法,用于数据操作和分析。1)数据访问与筛选。2)常用数学与统计函数。3)检查缺失值与排序。二、二维数组DataFrameDataFrame是Pandas库的核心组件,也是Python数据分析中最常用、最重要的二维数据结构。它是一种表格型的、大小可变的结构,专门用于高效地处理结构化和半结构化数据。其显著特点是能够容纳异构数据,即每列可以是不同的数据类型,如整数、浮点数或字符串。DataFrame最重要的特性是其带标签的轴,它同时拥有行索引(index)和列索引(columns),这为数据的选择、对齐和操作等任务提供了极大的灵活性和便利性。从概念上讲,一个DataFrame可以被视为一个由多个共享相同行索引的Series对象组成的字典,这种面向列的设计使得相关操作更加高效。1. 创建DataFrame2. 查看DataFrame的整体信息3. 选择与访问数据1.教学以学生学习教材的基本内容为主,系统全面地学习科学计算与数据分析基础的基本内容。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:本章主要学习了Python数据分析两大核心库:NumPy与Pandas。NumPy重点讲解了ndarray数组的创建、属性查看、向量化运算及索引切片操作,实现高效数值计算。Pandas则介绍了一维结构Series和二维表格结构DataFrame的创建、属性查询与数据访问、筛选、统计等基础操作,为后续结构化数据处理与数据分析奠定了核心基础。《Python程序设计基础项目化教程》课程教案课题:项目八 表格和文档操作教学目的:1.培养学生灵活运用编程知识解决实际问题的能力,鼓励举一反三,探索更高效的自动化办公方法,提升工作效率。2.在自动化生成格式美观、布局合理的文档过程中,提升学生的职业审美素养。3.熟练运用python-docx库完成“创建文档”→“添加段落与文字”→“保存文档”的基本操作。4.能够对指定的文字(Run)进行精细化格式设置,以突出重点内容。课型:新授课课时:本章安排6个课时。教学重点:重点:熟练运用python-docx库完成“创建文档”→“添加段落与文字”→“保存文档”的基本操作。教学难点:难点:能够对指定的文字(Run)进行精细化格式设置,以突出重点内容。教学过程:教学形式:采用课堂讲授、案例研讨与随堂习题相结合的混合式教学形式,兼顾理论讲解与互动思考。教学媒体:依托多媒体课件、线上学习平台以及素材开展直观化教学,辅助知识点理解。板书设计:本课标题表格和文档操作课次3授课方式理论课□讨论课□习题课□其他□课时安排6学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Python程序设计基础项目化教程》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段项目情境在现代办公和数据处理中,我们最常接触的文件类型是表格(如Excel)和文档(如Word)。手动处理这些文件不仅效率低下,而且容易出错。Python凭借其强大的第三方库生态,提供了全自动处理此类文件的能力,能将我们从烦琐的重复劳动中解放出来。本项目将带你
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园的亲子活动方案
- 场地平整扬尘风险管控方案
- 虚拟电厂平台建设方案
- 构件加工厂焊接质量管控手册
- 小学六年级数学“圆周率的历史”跨学科探究教案
- 初中生物八年级下册《生命延续的多样路径:生殖与发育》教学设计
- 盲校九年级道德与法治《追求民主价值》低视力版教案
- CN118703709B 一种基于全基因组检测非洲猪瘟病毒的pcr引物组和基于单分子测序的纳米孔测序方法 (浙江家禾泰弘生物科技有限公司)
- 小学四年级语文下册《捕捉特点活画其神-外貌描写习作指导课》教学设计
- 高中英语必修一Unit 3《Sports and Fitness》能力测评与素养提升教学设计
- 2026年教育系统公开选拔学校年轻后备干部考试参考试题(含答案)
- 2026广东广永国资招聘1人笔试题库【必考】附答案详解
- 2026年全新中医主治医师考试题库及答案
- 2026年湘教版八年级下册数学期末名校测评卷(含答案可下载)
- 20265G毫米波通信技术商业化进程与终端设备发展研究报告
- SGLT2抑制剂临床应用专家共识
- 2026年山东档案职称题库试题(各地真题)附答案详解
- 福建省干部保健工作制度
- 2025江西抚州市城市建设集团有限公司拟聘用人员(人才引培)笔试历年难易错考点试卷带答案解析
- 儿童肺炎支原体肺炎诊疗指南(2025年版)
- MTT 146-2025 树脂锚杆标准
评论
0/150
提交评论