Python语言基础与实践教程-案例驱动的编程入门 全套课件 第1-7章 Python简介-文件与异常处理_第1页
Python语言基础与实践教程-案例驱动的编程入门 全套课件 第1-7章 Python简介-文件与异常处理_第2页
Python语言基础与实践教程-案例驱动的编程入门 全套课件 第1-7章 Python简介-文件与异常处理_第3页
Python语言基础与实践教程-案例驱动的编程入门 全套课件 第1-7章 Python简介-文件与异常处理_第4页
Python语言基础与实践教程-案例驱动的编程入门 全套课件 第1-7章 Python简介-文件与异常处理_第5页
已阅读5页,还剩192页未读 继续免费阅读

下载本文档

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

文档简介

Python基础与应用主讲:TheIntroductionandApplicationofPython学时安排:24讲授+12实践(36学时)

学科专业课程/必修课学分:2学分教学方式:课堂+讨论答疑考核与课堂纪律约法三章:守时:上课不迟到、早退,有事提前请假自我约束:上课请不要玩手机、吃零食莫影响他人,有专门的时间给大家讨论考核方式:期末考试占60%

+

作业占30%+平时10%实验课单独核算参考书主要参考书目:[1]来全(主编).Python语言基础与实践教程——案例驱动的编程入门,北京:电子工业出版社,ISBN9787121518812,2025-12.2.《Python基础教程》,吕云翔等编著/人民邮电出版社,2018年12月3.《零基础学Python从入门到精通》,零壹快学主编著/广东人民出版社,2019年08月4.《Python基础视频教程》,朱泽坤编著/电子工业出版社,2019年12月5.《Python基础实例教程》,秦颖编著/水利水电出版社,2019年3月6.《Python编程从入门到精通》,明日科技编著/清华大学出版社,2019年5月目录/ContentsPart1第一章01Python语言概述Introduction学习内容第一节Python语言简介01Python语言概述Introduction1.1什么是Python?Python是由荷兰计算机科学家GuidovanRossum设计的高级、解释型、面向对象开源编程语言,以简洁语法、丰富标准库和易学性著称,广泛应用于网站开发、自动化、数据分析等领域。-它在全球开发者社区极受欢迎,在TIOBE编程语言排行榜长期位居前三,并多次(2007、2010、2018、2020、2021年)荣获“年度编程语言”,截至2024年末仍稳居榜首。Python凭借灵活性、可读性和海量第三方库,被大量用于大型项目和关键领域。-知名应用案例包括:Dropbox核心系统、Instagram后端、Spotify数据与推荐算法、NASA阿波罗代码重构、CERN大型强子对撞机数据分析、OpenStack云计算平台、Blender3D建模软件等。1.2为什么这么流行?Python广受欢迎的核心优势在于简洁明了的语法(接近自然语言)、极高的灵活性(一门语言通吃网站开发、自动化、数据分析、AI、科学计算等多个领域),极大降低了学习门槛和开发难度。它特别适合编程初学者,能让新手快速专注逻辑思维而非语法细节,因此国内众多高校已广泛在非计算机专业(如地理、医学、农业、金融、物理、数学等)开设Python课程。在跨学科应用中,Python被用于GIS空间分析、医疗数据与生物信息学、智能农业建模、量化金融交易、物理数学模拟等,帮助学生提升数据处理和问题解决能力。作为完全开源的语言,Python拥有丰富内置模块与海量第三方库,同时依托活跃友好的全球开发者社区,提供强大支持与高效问题解决机制。综上,简洁语法、广泛适用性、开源生态、强大社区与教育普及,使Python成为当今最受欢迎、最具发展潜力的编程语言,为初学者和非计算机专业学生打开无限可能的大门。1.3发展历程1)Python起源于1989年圣诞节,由荷兰程序员GuidovanRossum在CWI工作期间构思,结合ABC语言经验,旨在打造语法简洁、可读性强、支持强大数据类型、异常处理和模块化的高级脚本语言;1991年发布首个公开发行版0.9.0,并因喜爱《MontyPython’sFlyingCircus》喜剧而命名为Python(中文“蟒蛇”)。2)Python1.x系列从1994年1.0版本开始快速迭代,逐步加入函数、模块化系统、Lambda表达式以及map()、filter()等高阶函数,奠定了语言核心。Python发展历程1.3发展历程3)Python2.x于2000年发布2.0版,2008年推出最后一个重要版本2.7,虽曾被广泛使用,但存在Unicode支持不足、编码问题、语法不一致等局限,已于2020年1月1日正式停止官方支持。4)Python3.x于2008年推出3.0版(Py3K),进行大规模现代化重构以解决设计缺陷并引入一致语法,尽管初期不兼容导致迁移困难,但后续版本逐步成为主流,持续加入asyncio异步编程、有序字典等现代特性。5)

截至2025年6月11日,最新稳定版本为Python3.13.5,相较3.12在性能(函数调用与整数运算更快)、错误提示更详细、内存管理优化、安全漏洞修复、模式匹配微调等方面显著提升,但为保证第三方库兼容性,通常不建议立即升级最新版。Python发展历程1.4版本差异以下是以上PPT内容的核心总结:Python2.x与Python3.x是两大主要版本系列,存在多处关键差异,导致代码不完全兼容,Python2.x已于2020年停止官方支持。打印函数:Python2.x中print是语句(无需括号),Python3.x中改为print()函数(必须使用括号)。整数除法与Unicode:Python2.x默认整数除法结果为整数、字符串为ASCII(需加u前缀);

Python3.x默认返回浮点数、字符串为Unicode。xrange与异常处理:Python2.x使用xrange()生成器和exceptException,e:语法;

Python3.x中range()取代xrange(),异常改为exceptExceptionase:。输入函数与标准库:Python2.x有raw_input()与input()区别,标准库未重构;

Python3.x统一用input(),标准库经过清理、重命名和优化。总体上Python3.x引入更多现代特性、性能提升和新功能,是目前强烈推荐的版本。1.5Python的特点1)语法简洁接近自然语言,初学者极易上手。2)海量标准库与第三方库,覆盖Web、数据、AI等全领域。3)跨平台兼容,一份代码即可在Windows/Linux/macOS运行。4)企业与机构广泛采用,市场需求持续旺盛。5)全球活跃开源社区,提供技术支持与丰富资源。6)胶水语言,可轻松调用C/C++/Java等其他语言库。7)支持面向对象、函数式等多种编程范式。Python的特点1.5Python的特点Python作为一门解释型语言,拥有了解释型语言的优点(跨平台可移植性,动态变量等)也有解释型语言的缺点(效率较低)。另外,Python作为一门近乎万能的语言,就像瑞士军刀一样,他拥有很多功能,但在具体的功能上都不如一些专精的语言,当对性能有一定要求的时候,python不是好选择!python的缺点第二节Python开发环境的部署01Python语言概述Introduction2.1Python解释器安装官网下载Python安装(/downloads/windows/)使用Miniconda安装部署(/miniconda/)

2.2PyCharm安装PyCharm是一款由JetBrains公司开发的集成开发环境(IntegratedDevelopmentEnvironment,IDE),专为Python编程语言设计,它能够帮助开发者提高工作效率的上产力工具,其提供的丰富的功能集,能够满足从初学者到专业开发者的不同需求。

访问Jetbrains中文官方网站(/zh-cn/pycharm/download)进行下载。

2.3编写第一个Python程序Python编程入门:"Hello,World!"熟悉PyCharm主界面:项目窗口、编辑器区、运行工具栏的位置和作用创建Python项目和.py文件(New→PythonFile)在代码编辑器中正确编写Python代码(缩进、引号、print()函数)运行程序的三种常用方法:绿色按钮、右键Run、快捷键Shift+F10查看运行结果:在控制台(Console)窗口看到输出“Hello,World!”简单调试与错误处理:修改代码后重新运行、查看报错提示2.3编写第一个Python程序提前认识输入输出函数在Python语言中,input()和print()是两个非常基础且常用的函数,用于处理程序的输入和输出。1)输出函数—print()print()函数主要用于将信息输出到控制台(也就是我们通常看到的运行结果区域)。它可以输出字符串、数字、变量,甚至是多个对象的组合。

2.3编写第一个Python程序提前认识输入输出函数2)输入函数—input()input()函数用于从控制台获取用户输入的信息。它会暂停程序的执行,等待用户在控制台上输入一些文本并按下回车键。输入的内容默认作为字符串处理。

2.3编写第一个Python程序什么是注释?注释:注释是用来解释代码的,它不会被Python解释。注释对于提高代码的可读性非常有帮助,能够让读代码的人更容易理解代码。Python中有两种主要类型的注释,分别为单行注释和多行注释。2.4本章小结本章对Python语言进行了全面的概述,并为读者搭建了初步的学习环境。主要内容如下:1)了解了Python语言的基本概念、设计哲学以及其在编程领域中广泛流行的原因,包括语法简洁易读、开源特性、跨平台兼容性以及丰富的标准库和第三方库支持。2)我们回顾了Python的发展历程,从最初的发布到当前稳定版本,并详细比较了Python2与Python3之间的主要差异,强调了选择Python3进行开发的重要性。3)总结了Python语言的核心特性,如可读性强、易于学习、支持多种编程范式以及良好的社区支持等。4)为了使读者能够顺利开始编写代码,介绍了Python开发环境的部署方法,包括安装Python解释器和使用PyCharm这一集成开发环境。5)通过创建第一个Python项目,学习了如何编写简单的Python程序、使用注释以及理解基本的输入输出操作。期待第二章ThanksPython基础与应用主讲:TheIntroductionandApplicationofPythonPart2第二章02基本数据类型Datatype学习内容重点:掌握变量命名规则与赋值语法牢记数值、布尔类型的运算逻辑熟练字符串拼接、切片基础操作会用列表增删元素、字典查键值难点:数据类型的转换、比较与操作转义字符串和格式化输出成员操作符in的使用本章重点与难点第一节

变量的定义与使用02数据类型Datatype2.1变量的定义与使用-认识变量2.1.1认识变量内容:定义:通过赋值操作创建,无需指定类型(动态类型系统)语法:变量名=值作用:存储数据、保存中间结果、转换格式、抽象逻辑示例代码:2.1变量的定义与使用-认识变量2.1.2变量的命名规则避免中文命名(兼容性问题)首字符:字母或下划线,不能数字开头(e.g.,cityOK,1cityNO)后续:字母、数字、下划线,无空格/连字符(e.g.,city_2025OK,city-nameNO)长度:平衡可读性,避免<3或>30字符大小写敏感:chifeng≠Chifeng禁用保留字:None,and,as等(参考表2-1)查看关键字:importkeyword;keyword.kwlist2.1变量的定义与使用-认识变量变量的命名规则2.1变量的定义与使用-认识变量变量命名注意事项每一个变量在使用前必须赋值!Python还包含一系列关键字和内置函数,一般也不建议使用它们作为变量名:如果开发者尝试使用关键字作为变量名,Python解释器会报错。如果开发者使用内置函数的名字作为变量名,Python解释器倒不会报错,只是该内置函数就被这个变量覆盖了,该内置函数就不能使用了。第二节

基本类型02数据类型Datatype2.2数据类型概述数据类型概述常见类型:数值型、文本型、布尔型、列表、元组、集合、字典数值型:整数(int)、浮点(float)、复数(complex)示例代码(Ch02-1):2.2数据类型概述2.2.1数值类型-整数表达方式十进制:日常使用(e.g.,13)二进制:0b前缀(e.g.,0b1101=13)八进制:0o前缀(e.g.,0o15=13)十六进制:0x前缀(e.g.,0xd=13)示例代码(Ch02-2):2.2数据类型概述数值类型-进制转换十进制转二进制:除2取余法(图2-1示例:13->1101)二进制转十进制:按权展开法(图2-2示例:1101->13)知识点:计算机底层基于二进制2.2数据类型概述数值类型-运算与转换运算:类型提升(int<float<complex)示例(Ch02-3):13+3.14=16.14(float)2.2数据类型概述数值类型-运算与转换强制转换:int(),float(),complex()示例(Ch02-4):int(3.14)=3;float(13)=13.02.2数据类型概述2.2.2布尔类型值:True/False作用:逻辑判断示例(Ch02-5):gdp_exceeded=Trueprint(gdp_exceeded)#True2.2数据类型概述

——

2.2.3字符串

字符串的表示与转义表示:',",''',"""示例(Ch02-6)转义:表2-2(\,\n,\t等)示例(Ch02-7):2.2数据类型概述

——

2.2.3字符串

字符串运算拼接(+)、重复(*)示例(Ch02-8)拼接后的城市名称:内蒙古自治区呼和浩特市重复后的名称:内蒙古自治区内蒙古自治区2.2数据类型概述

——

2.2.3字符串

索引与切片正/负索引、切片[start:stop:step]示例(Ch02-9,Ch02-10)2.2数据类型概述

——

2.2.3字符串

格式化与其他方法格式化:%,format(),f-string(Ch02-11)方法:upper(),lower(),replace(),strip()等(Ch02-12)总结与练习总结与练习总结:整数:无小数点的数字浮点数:含小数点的数字布尔值:True和FalseNone:表示没有任何值字符串类型:String第三节

容器类型02数据类型Datatype3.1容器类型“容器类型”概述容器类型(如List、Tuple、Set、Dict):这些是“容器”,可以存储多个元素(元素可以是基本类型或其他容器)。用途:组织和管理数据集合。例如,List用于可修改的有序列表,Tuple用于不可修改的固定数据。3.2列表创建与索引列表(List)是Python中常用的数据结构之一,用于按顺序存储多个元素。创建:[]或list()示例(Ch02-13)索引:正/负(Ch02-14)3.2列表索引值与切片index()(Ch02-15)切片(Ch02-16)3.2列表上机测试添加元素删除元素元素统计排序上级测试:Ch02-17至Ch02-223.2列表列表的特点(!)有序:元素按照插入的顺序进行存储可变:列表创建后可以修改可包含任意类型元素:列表中可以存储数字、字符串、列表、集合、元祖、字典元素可重复:列表允许元素重复且列表可以添加、删减元素3.3元组元组(!)创建:()或tuple()(Ch02-23)排序:sorted()返回列表特点:不可变、有序、任意类型、允许重复注意:单元素需加逗号(5,)元组(Tuple)是Python中用于按顺序存储多个不可变的数据元素的一种常用的数据结构。元组以“元素”的形式存储和组织数据,元素之间用逗号,分隔,整体用小括号()表示。每个元素可以是任意类型,也可以重复出现。没有任何元素的元组称为空元组。3.4集合集合(!)创建:{}或set()运算:并集|,交集&,差集-(Ch02-24)集合(Set)是Python中另一种常用的数据结构,用于存储一组无序且不重复的元素。集合以“元素”的形式存储和组织数据,元素之间用逗号,分隔,整体用花括号{}表示。集合中的元素不能重复,且是无序的。没有任何元素的集合称为空集合。3.4集合比较与特点集合的特点:无序性:集合中的元素没有固定顺序,每次输出的顺序可能不同唯一性:集合中的元素都是唯一的,自动去除重复项可变性:集合是可变的,可以添加或删除元素数学集合操作支持:支持并集、交集、差集等数学集合运算高效成员检测:基于哈希表实现,查找元素的速度非常快子集<=,真子集<,==(Ch02-25)3.5字典修改删除与特点修改:=或update()删除:popitem()(Ch02-27)字典的特点:字典使用键值对存储:每个key对应一个value,可以通过key快速访问对应的value键(Key)必须是不可变类型值的可变性:字典可以动态添加、删除、修改键值对不允许重复键:字典中,如果同一个key被多次赋值,后面的值会覆盖前面的值第四节

数据类型的转换02数据类型Datatype4.1数据类型的转换转换函数参阅教程上的表2-2Python各种数据类型的转换数据类型的差异与选择:参阅教程上的表2-3Python数据类型的差异与选择本章小结总结本章学习了变量的定义和命名,详细学习了Python中的核心数据类型,包括:数值型、布尔类型、字符串、列表、元组、集合、字典,这些构成了Python编程的基础,理解它们的特点,掌握这些数据类型的相关方法,清晰各种数据类型之间的差异,对编写高效、可维护的代码至关重要。根据对各种数据类型定义和特点的理解,掌握数据类型的选择原则,是成为Python程序员的关键一步。期待第三章ThanksPython基础与应用主讲:TheIntroductionandApplicationofPythonPart3第三章03运算符和表达式OperatorsandExpressions学习内容运算符+表达式=数据分析利器内蒙古自治区经济、人口、地理数据解读实战本章导言为什么需要运算符?例如:在分析内蒙古自治区的经济、人口和地理数据时,仅有原始表格不够,还需要方法来解读数字、计算指标、筛选区域。Python表达式和运算符就是数据分析和决策支持的利器!本章重点&难点本章重点:•运算符分类与使用(7大类)•表达式组成与优先级•实战:经济人口数据分析本章难点•运算符优先级与类型转换•逻辑/比较运算符细节差异3.1运算符总览Python运算符七大类Python中的运算符主要包括算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符和身份运算符。运算符+数据类型+控制结构=Python三大基础3.1.1算术运算符算术运算符(最常用)+加法-减法*乘法/除法//整除%取模**幂注意点:

•/总是返回浮点数

•//向负无穷取整

•字符串仅支持+和*3.1.2赋值运算符赋值运算符=

+=

-=

*=

/=

//=

%=

**=3.1.3比较运算符比较运算符(返回True/False)比较运算符又称关系运算符,是用于对变量或数值进行大小、相等性等方面的判断。注意:浮点数比较需注意精度3.1.4逻辑运算符逻辑运算符逻辑运算符用于对布尔值(True或False)进行组合和运算,主要用于条件判断和布尔逻辑的构建。Python提供了3个基本的逻辑运算符:and、or和not,它们可以对一个或多个布尔表达式进行逻辑组合与判断,从而实现更复杂的程序控制和决策逻辑,如表3-4所示。注意:not>and>or优先级+真值判断规则3.1.5位运算符位运算符(底层二进制操作)3.1.5位运算符按位与&、或|、异或^3.1.5位运算符~取反、<<左移、>>右移3.1.5位运算符位运算注意事项在使用Python的位运算符时,需要注意多个关键细节:位运算符仅适用于整数类型,浮点数等其他类型会引发错误;按位取反(~)返回的是补码形式的负数(即~n=-n-1);左移(<<)和右移(>>)不会溢出,而是自动扩展整数精度;需区分逻辑运算符与位运算符的用途,避免将布尔值参与位运算,造成混淆;注意位运算符之间的优先级顺序,合理使用括号以避免逻辑混乱。3.1.6身份运算符(is/isnot)is/isnot3.1.7成员运算符(in/notin)in/notin成员运算符用于判断某个元素是否存在于一个容器(如列表、元组、字符串、字典、集合等)中,返回布尔值(True或False)。Python提供了两个成员运算符:in和notin,如表3-7所示。3.1.8运算符优先级运算符优先级表在一个表达式中,如果有多个运算符,那么运算符优先级决定了谁先参与计算。优先级高的运算符会比优先级低的先执行,如表3-8所示。3.2表达式表达式vs语句核心区别:表达式=计算什么(产生值)语句=做什么(改变状态)案例(Ch03-8内蒙古中型省份判断):表达式(Expression)是程序中用于进行计算并生成值的基本构造单元,是构建编程逻辑、控制程序流程的重要组成部分。3.2表达式表达式组成Python中,表达式(Expression)是由操作数(Operands)、运算符(Operators)和可选的括号(Parentheses)组成的一段代码,其计算结果是一个具体的值,如图3-7所示。注意:表达式不一定是单行代码,可以跨行书写使用时要注意运算符优先级,建议用括号明确顺序操作数类型要匹配,避免错误注意表达式的副作用,如变量修改理解这些细节,有助于写出清晰、正确的代码。本章小结内容本章内容涵盖算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、成员运算符及身份运算符的功能与使用方法,并详解了表达式的构成及其在程序计算中的核心作用。课后思考和练习请完成课后练习题内蒙古自治区数据实战练习(书3.5完整5题)计算人均GDP判断人口密度是否>500人/km²内蒙古vs河北GDP比较年经济增长率计算发达/发展中/欠发达分类期待第四章ThanksPython基础与应用主讲:TheIntroductionandApplicationofPythonPart4第四章04控制结构ControlStructures学习内容让程序学会选择与重复4.1控制结构简介04控制结构ControlStructures核心概念:控制结构是程序执行流程的“指挥官”,决定代码何时执行、执行多少次。三大基本结构:顺序结构:按代码编写顺序逐行执行。分支结构:依据条件真伪选择执行路径(本章重点)。循环结构:反复执行某段代码直至条件不再满足(本章重点)。4.2分支结构(Branching)if语句家族单分支(if):满足条件执行A,不满足则跳过。双分支(if-else):满足条件执行A,否则执行B。多分支(if-elif-else):在多个互斥条件中选择一个。提示:elif可以有多个,但顺序很重要,程序会执行第一个满足的分支。嵌套if:在一个if块中再嵌套另一个if,处理更复杂的子条件判断。4.2.1if语句单分支的if语句单分支的if语句是Python中最简单的条件判断形式,它仅包含一个条件和一个代码块。如果条件为真(True),则执行该代码块;如果条件为假(False),则跳过该代码块,继续执行后续代码。单分支的if语句的工作流程如图4-1所示。语法解释如下:if:Python关键字,意思是“如果”,用来开启条件判断。condition:条件表达式,可以是比较、是否等于等能得到True或False结果的代码。“:”:英文冒号,是语法要求,用来分隔“条件”和“要执行的代码块”。缩进的代码块:当if条件为True时,程序会执行的代码。4.2.1if语句单分支的if语句在这个例子中,程序会获取你输入的人口数。如果人口数在100万到500万之间(不含500万),那么就会打印“该城市属于三线城市”。如果人口数不符合这个范围,程序就不会有任何输出,直接结束。4.2.1if语句双分支语句(if-else)双分支if-else语句是一种能根据条件真假,让程序在两种互斥执行路径中选择的控制结构,解决“满足条件做A,不满足做B”的逻辑需求。它提供了两种选择,非此即彼。其核心思想是如果某个条件成立,就做这件事;否则(else),就做另外一件事。双分支语句(if-else)的工作流程如下图4-2所示。语法解释:else:Python关键字,意思是“否则”,搭配if处理“条件不成立”的情况。if后面缩进的代码,是条件为True(成立)时要执行的内容;else后面缩进的代码,是条件为False(不成立)时要执行的内容。4.2.1if语句双分支语句(if-else)这段代码用于判断一个城市的常住人口是否符合三线城市的定义。具体功能如下:从用户输入获取城市人口数据(单位为万人),并转换为浮点数;如果城市人口在100万到500万之间(含100万,不含500万),则输出“该城市属于三线城市”;否则输出“该城市不属于三线城市”。4.2.1if语句双分支语句(if-else)课堂作业:闰年的条件:能被4整除,但不能被100整除;或者能被400整除。要求:键盘输入年份,输出是否为闰年!4.2.1if语句多分支语句(if-elif-else)多分支结构用于在一个控制流中处理多个条件。它扩展了基本的if-else结构,允许你根据不同的条件执行不同的代码块。只有当所有前面的if和elif条件都为假时,才会执行else部分。多分支语句(if-elif-else)的工作流程如下图4-3所示。语法解释:ifcondition1:启动条件判断流程,检查condition1是否成立;elifcondition2:Python关键字(全称“elseif”),用于在前面的if或elif条件不成立时,检查condition2。若成立,则执行对应代码块;elifcondition3:类似elifcondition2,可继续扩展更多分支,依次检查新条件;else:当所有if和elif的条件都不成立时,执行else下的代码块。一个结构中最多有一个else。4.2.1if语句多分支语句(if-elif-else)!!!elif可以有多个,但必须出现在if之后,else之前;else是可选的。这段代码根据输入的城市人口数(单位:万人),判断该城市属于哪一等级:如果人口≥1000万,输出“一线城市”;如果人口在500万到1000万之间,输出“二线城市”;如果人口在100万到500万之间,输出“三线城市”;否则输出“四线及以下城市”。4.2.1if语句if语句的嵌套Python语言支持在一个if或elif代码块中再写一个新的if判断语句,这就是所谓的嵌套if语句(NestedifStatements)。这种结构允许我们在某个条件成立的前提下,进一步判断更多的子条件。语法解释:if外层条件:先判断外层条件是否为真。如果为真,进入内部判断。if内层条件:在外层条件为真的前提下,继续判断内层条件。else(内层):如果内层条件不成立,则执行这里的代码。else(外层):如果外层条件一开始就不成立,则直接跳到外层的else执行。4.2.1if语句if语句的嵌套这段代码使用的是if-else嵌套结构,根据用户输入的城市人口数,判断城市的等级:如果人口超过500万,输出“该城市为二线及以上城市”;否则,如果人口超过200万,输出“该城市为三线城市”;否则,输出“该城市为四线城市及以下”。4.2.2match语句match语句match-case语句,是Python3.10+引入的一种新的条件控制结构。特点:采用“模式匹配”而非简单的布尔判断。语法解释:match用于对目标值进行模式匹配case关键字后可以跟具体的值,类型,变量结构,守卫条件等_表示通配符:用作“默认匹配”4.2.2match语句match语句示例示例代码的具体功能如下:接收用户输入的年份,转换为整数。使用match-case判断年份是否为2024或2020,输出对应人口数据。若年份不匹配,执行_分支,提示无该年人口数据。4.2.3三元运算符三元运算符三元条件运算符(TernaryConditionalOperator)是Python提供的一种简洁表达条件判断的语法形式。它允许开发者在一行内根据布尔条件返回不同的结果,实现传统if-else语句的表达式级替代。4.2.3三元运算符三元运算符示例三元条件运算符(TernaryConditionalOperator)是Python提供的一种简洁表达条件判断的语法形式。它允许开发者在一行内根据布尔条件返回不同的结果,实现传统if-else语句的表达式级替代。4.3循环结构(Loops)循环通过程序中的循环语句,计算机能高效执行重复任务,无需大量重复代码。这使得程序能像自然现象或自动化机器一样,有条不紊地处理一系列相似事件。Python提供了两种循环结构,包括while循环和for循环。4.3.1

for循环for...in语句for...in语句是python中用于遍历可迭代对象(如列表、元组、字符串、字典等)的一种循环方式。4.3.1

for循环for...in语句可迭代对象类型:可迭代对象是python中支持逐个取出元素的数据结构,如列表、元组、字符串、字典等。它们的作用是在循环中提供一组可顺序访问的元素,方便进行批量处理或遍历操作。

4.3.1

for循环for...else语句for...else语句是python中特有的一种循环结构,它在for循环正常执行完毕后自动执行else代码块,若循环中途被break语句打断,则else块不会执行。这种结构常用于查找类操作中,在遍历未提前终止的情况下执行收尾逻辑。语法解释:for...else语句表示当循环未被break中断时,自动执行else块中的代码,用于处理循环正常结束后的逻辑。4.3.1

for循环for...else语句示例这段代码的功能是:在列表years中查找用户输入的目标年份target,如果找到则输出“找到目标年”,否则输出“未找到目标年”。4.3.1

for循环嵌套for循环嵌套的for循环(即一个for循环内部又包含另一个for循环)常用于处理二维数据结构(如嵌套列表)、生成排列组合、或在多个维度上进行遍历。

具体功能如下:定义年份列表years;定义城市列表cities和对应人口数据popu;嵌套循环依次遍历年份和城市,输出格式化字符串展示数据,结果为每年份下所有城市的人口数据依次被打印出来。4.3.1

for循环range()函数range()是python中用于生成整数序列的内置函数,常用于for循环控制循环次数。这段代码解释如下:range(2020,2024,1)生成一个从2020开始,到2023结束的整数序列,其中起始值是2020,结束值是2024(不包括)。步长为1,表示每次递增1。使用list()函数将range()对象转换为列表后,得到的序列是[2020,2021,2022,2023],即包含了从2020到2023的所有年份。4.3.2

while循环while循环基础while循环作为python中的基本循环语句之一,允许程序在满足特定条件的前提下不断执行某段代码,直到条件不再成立为止。它适用于循环次数不确定、依赖变量变化的场景。while循环的核心是条件表达式,它会在每次循环开始前判断条件是否为真,只有条件为“真”时,才会执行循环体。如果条件为“假”,循环将终止。语法解释:每次循环前会判断条件是否成立,若为“真”则执行循环体,常配合更新变量以避免死循环,适用于次数不确定的循环场景。4.3.2

while循环while循环基础while循环作为python中的基本循环语句之一,允许程序在满足特定条件的前提下不断执行某段代码,直到条件不再成立为止。它适用于循环次数不确定、依赖变量变化的场景。while循环的核心是条件表达式,它会在每次循环开始前判断条件是否为真,只有条件为“真”时,才会执行循环体。如果条件为“假”,循环将终止。语法解释:每次循环前会判断条件是否成立,若为“真”则执行循环体,常配合更新变量以避免死循环,适用于次数不确定的循环场景。4.3.2

while循环while循环基础示例这段代码解释如下:定义变量year=2020,并设置whileyear<=2023作为循环条件,表示只要年份不超过2023,就持续执行循环体。在每次循环中,使用print()输出当前年份,并将year增加1,以推动循环向终止条件前进,避免陷入无限循环。注意:引号应为英文格式,否则会导致语法错误。4.3.2

while循环while…else结构while...else是python中的一种循环结构,用于在while循环条件不再满足并正常结束时执行额外的else代码块。它通常用于在循环未被break中断的情况下执行一些“收尾”操作。语法解释:当while条件为“真”时,循环体会不断执行,并在每次迭代中更新变量;如果循环自然结束(条件变为“假”),则执行else块中的代码;但如果循环通过break提前终止,else部分不会执行。4.3.2

while循环嵌套while循环嵌套while循环允许在一个循环体内再嵌入另一个循环,从而在每次外层循环执行的基础上,完成对内层数据的多次遍历或比较。这在处理如二维列表、矩阵运算或多维数据分析时非常常见。4.3.3循环控制语句break语句break语句用于立即终止当前循环,无论循环条件是否仍为“真”。当程序执行到break时,会跳出整个while或for循环,控制权转移到循环之后的第一条语句。它常用于在满足某个特定条件时提前结束循环。语法解释:在while循环中,break用于在满足特定条件时提前终止循环,跳出循环体,继续执行后续代码。在for循环中,break用于在满足特定条件时终止循环,停止对可迭代对象的进一步遍历。4.3.3循环控制语句break语句示例break语句用于立即终止当前循环,无论循环条件是否仍为“真”。当程序执行到break时,会跳出整个while或for循环,控制权转移到循环之后的第一条语句。它常用于在满足某个特定条件时提前结束循环。代码解释如下:代码从year=2020开始,使用whileyear<=2023控制循环,依次打印年份信息。每次循环结束后,将year增加1,逐步推进年份。在循环体中,当年份等于2022时,触发if判断,执行break语句立即终止循环,因此只会输出2020和2021两年的信息。4.3.3循环控制语句continue语句continue语句用于跳过当前循环中的剩余代码,直接进入下一轮循环。它常用于在满足特定条件时暂时跳过本次迭代的处理逻辑,但不终止整个循环。与break不同,continue不会退出循环,而是跳过当前这次执行,继续下一次判断与执行。语法解释:在while循环中,当满足特定条件时,continue会跳过当前循环的剩余部分,直接进入下一次迭代。在for循环中,当满足条件时,continue会跳过当前元素的处理,继续处理下一个元素。4.3.3循环控制语句continue语句示例代码解释如下:使用foryearinrange(2020,2024)遍历从2020到2023的年份。每次循环将当前年份赋值给变量year,用于后续判断与输出。当年份为2021时,触发ifyear==2021条件,执行continue跳过本次循环,不执行print。因此输出结果将省略2021,只打印2020、2022和2023。4.3.4推导式循环语句推导式循环语句除了for和while循环语法外,还有一种简洁的单行循环结构——推导式。列表推导式、字典推导式和集合推导式都是通过嵌套表达式来生成新数据结构的高效方法。语法解释:列表推导式:通过在一行代码中结合循环和条件表达式,快速生成符合特定规则的列表。集合推导式:类似于列表推导式,但生成的是集合,集合会自动去重,并可以通过条件筛选元素。字典推导式:在列表推导式的基础上,创建键值对形式的字典,按指定规则映射键和值。4.3.4推导式循环语句推导式循环语句示例代码解释如下:第1行:定义一个包含年份的列表years,其中包含四个整数元素2023,2022,2021,2020。第2行:使用列表推导式生成新列表half_years,将years中的每个元素整除2,并对结果进行存储。第3行:打印列表half_years,输出结果为[1011,1011,1010,1010]。本章小结重难点回顾:熟练运用多分支if-elif-else。掌握match的模式匹配。理解for和while循环及其嵌套逻辑。break和continue的使用注意事项。本章小结课后思考:什么时候用for?什么时候用while?match语句相比if语句在处理固定模式时有什么优势?期待第五章ThanksPython基础与应用主讲:TheIntroductionandApplicationofPythonPart5第五章05函数Function学习内容函数的作用是将重复的代码块封装起来,通过调用执行特定任务,从而提高代码的复用性、模块化和可读性。第一节函数概述05函数Function5.1函数概述5.1.1

认识函数函数是一段具有特定功能的代码块,它接收输入参数,经过处理后返回结果。就像数学中的函数一样,给定相同的输入,总是产生相同的输出。在Python中,函数是组织代码的基本单元,将相关的操作封装在一起。5.1函数概述5.1.1

认识函数语法解释:def关键字必须小写,后面紧跟一个空格,这是Python函数定义的固定格式;函数名遵循标识符命名规则,推荐使用小写字母和下划线的组合,如circle_area;参数列表用圆括号包围,多个参数用逗号分隔;冒号是函数定义语法的必需部分,标志着函数头的结束和函数体的开始;函数体必须相对于def语句缩进,通常使用4个空格,这是Python语法的强制要求;return语句可以出现在函数的任何位置,一旦执行就会结束函数并返回指定值,如果函数没有return语句或return后没有值,则返回None。5.1函数概述5.1.2 调用函数1)什么是函数调用(call)?

函数调用是将已定义的函数投入实际使用的过程,通过函数名加圆括号的形式来执行函数内部的代码逻辑。当程序执行到函数调用语句时,控制权会转移到被调用的函数内部,执行完毕后再返回到调用位置继续执行后续代码。函数是被动的!5.1函数概述5.1.2 调用函数函数调用的基本语法为`函数名(参数值)`,如果函数有返回值,通常需要用变量接收结果。5.1函数概述5.1.2 调用函数2)形式参数(Parameter)`形式参数`是函数定义时在参数列表中声明的变量名,它们充当函数内部的占位符,用于接收调用时传入的具体数值。例子中,region和indicator本质上是函数内部的变量名。它们在函数定义时声明:调用该函数需传入两个输入数据,其中第一个实参值将绑定给形参region,第二个实参值将绑定给形参indicator。5.1函数概述5.1.2 调用函数3)实际参数(Argument)`实际参数`是函数调用时传递给函数的具体数值或变量,它们是真正参与函数运算的数据。实参与形参之间存在一一对应的映射关系,调用时实参的值会被传递给相应位置的形参。代码中,'呼和浩特市'和'包头市'是传递给形式参数region的实际参数;'总人口'和'GDP'是传递给形式参数indicator的实际参数。第二节传递实参05函数Function5.2传递实参5.2.1 位置实参位置实参是最直观的参数传递方式(图5-2),它严格按照参数在函数定义中的位置顺序进行匹配。在函数调用过程中,实参是赋予函数运行的具体数据,而传递方式决定了数据如何被函数接收和处理。Python提供了多种实参传递机制,包括位置实参、关键字实参、默认值等。5.2传递实参5.2.1 位置实参示例所有参数都必须提供:如果函数定义中没有为某个参数设置默认值,那么在调用时就必须为该参数提供一个值,否则Python会抛出TypeError。5.2传递实参5.2.2 关键字实参关键字传递(KeywordArguments)是一种在函数调用时通过显式指定参数名来传递值的方式,它极大地提升了代码的可读性并减少了出错的可能性,尤其适用于参数数量较多或顺序不易直观判断的情况。注意:

关键字实参的名称必须与函数定义中的形参名称完全一致。同一个参数不能既用位置方式又用关键字方式赋值。一旦使用关键字实参,它之后的参数都必须用关键字形式提供,以避免歧义。5.2传递实参5.2.3 默认值默认值机制为函数参数提供了预设值,当调用时未提供相应实参时,参数将自动采用默认值。注意:

在函数定义中,必须将非默认参数放在前面,默认参数放在后面。这种顺序要求确保了函数调用时参数绑定的明确性。例如,deffunc(a="default",b):这样的定义是非法的,因为Python无法确定func(10)中的10应该赋给a还是b。5.2传递实参5.2.3 默认值默认值机制为函数参数提供了预设值,当调用时未提供相应实参时,参数将自动采用默认值。注意:

在函数定义中,必须将非默认参数放在前面,默认参数放在后面。这种顺序要求确保了函数调用时参数绑定的明确性。例如,deffunc(a="default",b):这样的定义是非法的,因为Python无法确定func(10)中的10应该赋给a还是b。5.2传递实参5.2.4 可变位置参数(*args)可变位置参数允许函数接收任意数量的位置实参,这些实参会被自动打包成元组供函数使用,具体而言星号`*`后跟随变量名,即可得到可变位置参数。代码解析如下:第1行:将原有的位置参数indicator改为可变位置参数*indicators;第4行:遍历接收到的参数元组indicators;第8行:调用get_statistic函数,"呼和浩特市"为位置参数region,"总人口"、"GDP"为可变位置参数*indicators。5.2传递实参5.2.5 可变关键字实参(**kwargs)可变关键字参数提供了接收任意数量关键字实参的能力,这些实参会被组织成字典结构供函数处理。代码解析如下:第1行:将原有的位置参数indicator改为可变位置参数*indicators;第4行:遍历接收到的参数元组indicators;第8行:调用get_statistic函数,"呼和浩特市"为位置参数region,"总人口"、"GDP"为可变位置参数*indicators。第三节返回值05函数Function5.3返回值返回值合理使用返回值能使函数在程序中高效地传递和处理数据。函数执行操作后可以通过返回值将处理结果传递出来。返回值可以是数字、字符串等简单数据类型,也可以是列表、字典等复杂数据结构,甚至可以返回多个结果。5.3返回值5.3.1return语句return语句是函数返回结果的重要语句。当程序执行到return语句时,函数会立即结束运行,并将结果返回给调用者,return后面的代码不会继续执行。如果函数中没有写return语句,或者return后面没有任何值,Python会默认返回None。这是Python函数的标准行为。代码解析如下:第4,7行:返回单个值,例如查询"呼和浩特市"的"总人口",那么程序将执行到第4行并返回289.7,不会接着运行5~9行;第9行:如果在调用函数期间,region没有匹配项,则返回None5.3返回值5.3.2返回None当函数没有显式编写return语句,或者return后不跟任何值时,函数会默认返回None。代码解析如下:第4,7行:返回单个值,例如查询"呼和浩特市"的"总人口",那么程序将执行到第4行并返回289.7,不会接着运行5~9行;第9行:如果在调用函数期间,region没有匹配项,则返回None5.3返回值5.3.3

返回多个值可以通过return语句返回多个值。第四节Lambda匿名函数05函数Function5.4Lambda匿名函数Lambda匿名函数Lambda函数是一种匿名的、单行的轻量级函数,其核心特点在于通过单个表达式实现功能,并自动返回该表达式的结果。与普通函数不同,Lambda函数没有正式的函数名称,所有运算和逻辑处理均需在一行内完成。语法解释:使用lambda关键字定义一个匿名函数,参数列表为该函数接受的参数,多个参数之间用逗号分隔,冒号后的单个表达式为函数体。参数列表:支持位置参数(如x)、默认参数(如x=1)、可变参数(如*args),用于接收外部传入值。单个表达式:函数的执行逻辑,必须为单行且有返回值,执行结果自动作为返回值(无需return关键字)。5.4Lambda匿名函数Lambda匿名函数示例代码解释:第1行:定义普通函数add,包含形参a和b,用于接收两个数值。第2行:函数体执行a+b的加法运算,并通过return语句返回计算结果。第5行:使用lambda关键字定义匿名函数,直接指定参数列表a,b和返回值a+b,并将其赋值给变量lambda_add。第8行:调用普通函数add,传入实参3和5,打印返回值8。第9行:调用lambda函数lambda_add,传入相同实参,打印返回值8,验证二者功能等价。5.4Lambda匿名函数Lambda匿名函数特性特性:无需显式return。逻辑仅限单行表达式。匿名与即席(临时、当场、不事先准备)使用。本章小结函数定义与调用机制:形参与实参的动态绑定五种参数传递方式:位置参数关键字参数默认值参数可变位置参数(*args)可变关键字参数(**kwargs)返回值应用:单值、多值、None的使用匿名函数(Lambda):语法规范与适用场景作为轻量级工具在高阶函数中的优势难点:Lambda函数的规范编写本章小结课后思考:掌握函数设计原则与技巧,构建模块化、高效稳健的程序期待第六章ThanksPython基础与应用主讲:TheIntroductionandApplicationofPythonPart6第六章06面向对象程序设计Object-OrientedProgramming学习内容4.1控制结构简介06面向对象程序设计Object-OrientedProgramming第一节面向对象编程概述什么是面向对象程序设计(OOP)面向对象程序设计的核心思想在于将现实世界中的事物抽象为程序中的“对象”。这些对象既包含描述其特征的数据(属性),也包含操作这些数据的行为(方法)。这种思想符合人类认识世界的自然方式,例如我们将汽车、房屋、城市看作独立对象,它们各自拥有独特的属性和行为。图:城市对象的属性与方法抽象示例核心特征:抽象(Abstraction)|封装(Encapsulation)|继承(Inheritance)|多态(Polymorphism)代码示例:定义一个城市类classCity:

def__init__(self,name,population):

=name#属性:城市名称

self.population=population#属性:人口数量

defget_desc(self):

returnf"{}的人口为{self.population}"beijing=City("北京市",40000);hohhot=City("呼和浩特市",10000)print(beijing.get_desc());print(hohhot.get_desc())运行输出结果北京市的人口为40000呼和浩特市的人口为10000面向对象编程核心:封装属性与方法,通过实例化对象实现代码复用与逻辑解耦Python实现代码面向对象vs面向过程面向过程编程(Procedure-Oriented)核心思想:将程序看作一系列顺序执行的步骤或过程。主要特点:数据与函数分离,结构清晰,执行效率高。局限性:代码难以维护,重用性低,抽象能力有限。面向对象编程(Object-Oriented)核心思想:将数据和操作数据的方法封装在对象中。主要特点:通过封装、继承、多态实现代码重用和扩展。核心优势:更好的代码组织,更高的可维护性和可扩展性。图示:面向过程与面向对象的编程模型对比面向对象的三大核心特性封装(Encapsulation)将数据和方法绑定,形成独立单元。隐藏细节,暴露接口,实现信息隐藏。继承(Inheritance)基于现有类创建新类,复用属性方法。支持层次化设计,体现“是一种”关系。多态(Polymorphism)不同对象对同一消息做出不同响应。实现“一个接口,多种实现”,灵活扩展。4.1控制结构简介06面向对象程序设计Object-OrientedProgramming第二节类与对象面向对象编程基础·核心概念解析类的定义与创建类(Class)是创建对象的模板或蓝图。它定义了对象拥有的属性(数据)和方法(行为)。在Python中,我们使用class关键字来定义一个类。class

ClassName:"""类的文档字符串"""#属性定义#方法定义类(图纸)与对象(房屋)的关系核心思想:类是抽象的概念(图纸),对象是具体的实例(房子)。对象的实例化核心概念对象(Object)是类的具体实例(Instance)。创建对象的过程称为实例化。每个对象都拥有类定义的属性和方法,但可以有不同的属性值。代码示例(Python)#创建Book类的实例book1=Book("Python编程","张三")book2=Book("Java编程","李四")示例中,book1和book2是两个独立的实例,拥有相同的属性结构但不同的值。类比理解:类是建筑图纸(模板),对象是根据图纸盖好的房子(具体实例)。属性与方法属性(Attribute)对象的状态数据,描述对象的特征。访问:对象.属性名示例:book1.title方法(Method)对象的行为,操作对象数据的函数。调用:对象.方法名()示例:book1.display()关键概念:self参数方法的第一个参数通常是self,它代表对象本身,用于在方法内部访问对象的属性和方法。构造方法__init__核心作用Python中的构造方法,在创建对象时会自动调用,用于初始化对象的属性,为对象赋予初始状态。self参数必须作为方法的第一个参数,它指向新创建的对象实例,通过self可以访问对象的属性和方法。book.pyclass

Book:def

__init__(self,title,author):self.title=title#初始化属性self.author=author#创建对象时自动调用book=

Book("Python编程","张三")4.1控制结构简介06面向对象程序设计Object-OrientedProgramming第三节类封装、继承与多态面向对象编程核心特性解析封装:信息隐藏与接口设计封装的核心是信息隐藏,即对象的内部状态对外部不可见,外部只能通过对象提供的公共方法来访问或修改状态。私有属性(Private)在Python中,通过在属性名前加下划线(如_name)来约定为私有属性,表示不建议外部直接访问。公共方法(Public)提供getter和setter方法来安全地访问和修改私有属性,控制数据流向。核心价值:保护数据不被随意修改,同时提供了清晰的接口,极大地增强了代码的安全性和可维护性。继承:代码复用与扩展核心概念继承是面向对象编程的核心特性之一,允许基于已有的父类(基类)创建新的子类(派生类)。子类自动获取父类的属性和方法,并可进行:扩展:添加新的属性或方法重写:修改父类已有的方法实现inheritance.pyclass

Person:

#父类

def

__init__(self,name):

=name

def

greet(self):

return

f"Hi,{}"class

Student(Person):#继承Person

def

study(self):

return

f"{}isstudying"s=Student("Alice")print(s.greet())#调用继承的方法核心价值:通过继承,Student类无需重复编写name属性和greet方法,直接复用Person类的代码,极大提高开发效率。多继承与方法解析顺序(MRO)多继承特性Python支持子类继承多个父类,极大提升了代码复用性。但当多个父类存在同名方法时,会引发“菱形问题”等方法名冲突。MRO解析原则MRO定义了解释器查找方法的顺序。遵循“深度优先,从左到右”原则,并通过C3线性化算法保证继承关系的一致性,避免二义性。实践查看方法在代码中,可以通过以下两种方式查看类的MRO:1.类名.__mro__2.类名.mro()理解MRO是掌握Python面向对象编程中复杂继承关系的关键多态:一个接口,多种实现多态允许不同类的对象对同一消息(方法调用)做出不同的响应。这通常通过方法重写(MethodOverriding)来实现,极大地提高了代码的灵活性。class

Animal:

def

speak(self):

passclass

Dog(Animal):def

speak(self):

return"Woof!"class

Cat(Animal):def

speak(self):

return"Meow!"def

make_speak(animal):

print(animal.speak())make_speak(Dog())#输出:Woof!此外,Python还支持运算符重载(OperatorOverloading),通过实现特殊方法(如__add__,__str__)来自定义对象的行为,进一步扩展了多态的应用场景。Python中面向对象的独特实现一切皆对象:数字、字符串、函数、类本身都是对象,具有统一的访问接口。特殊方法:通过双下划线方法(如__init__,__str__)自定义对象行为与运算符。动态性:运行时可动态为类或对象添加属性和方法,灵活性极高。属性访问控制:无严格私有属性,通过约定俗成的命名规范(如_attr)实现约束。元类:控制类的创建过程,是Python中实现高级框架和API的核心机制。为什么要学习面向对象编程现代软件工程的支柱主流开发框架(如Django,Flutter)均基于OOP设计,是行业标准。提高代码可维护性与扩展性通过封装、继承和多态特性,有效管理复杂度,降低维护成本。提升抽象编程思维培养抽象、分解和建模能力,帮助我们更好地解决复杂现实问题。Python的强大支持Python的OOP特性简洁且强大,语法糖丰富,是入门和实践的理想语言。综合案例:图书管理系统通过Python实现一个简易的图书管理系统,展示类定义、对象交互与业务逻辑封装。class

Book:

def

__init__(self,title,author,isbn):

self.title=title

self.author=author

self.isbn=isbn

self.is_borrowed=Falsedef

borrow(self):#借书逻辑封装

ifnot

self.is_borrowed:

self.is_borrowed=True

returnTrue

returnFalselib=Library();lib.add_book(Book("Python编程","张三","123456"))#对象交互类与对象定义Book类封装属性,Library类管理集合方法与行为通过borrow方法控制图书状态流转业务逻辑整合实现书籍添加、查找与借阅的完整闭环本章小结类与对象类是模板,对象是实例,是OOP的基础。封装隐藏细节,提供接口,保证数据安全。继承代码复用,扩展功能,建立层次关系。多态灵活扩展,统一接口,提高代码通用性。面向对象编程是现代软件开发的核心思想,掌握它对于构建高质量、可维护的软件至关重要。希望大家能在实践中不断加深理解,灵活运用。期待第七章ThanksPython基础与应用主讲:TheIntroductionandApplicationofPythonPart7第七章07文件与异常处理FileandExceptionHandling学习内容本章重点与难点本章重点KeyPoints文件操作:掌握文本与二进制文件读写文件模式:理解不同文件打开模式选择with语句:安全管理文件资源,自动关闭异常处理:编写健壮程序,应对错误本章难点Difficulties读写复杂性:灵活运用各类读写方法异常设计:合理设计异常捕获与处理学习建议:多动手编写代码,尝试处理不同类型的文件和异常情况,加深对文件操作机制的理解。第一节文件操作07文件与异常处理FileandExceptionHandling7.1文件操作-文件与文件路径文件类型分类文本文件:基于字符编码(如UTF-8),可直接阅读,如.txt,.py二进制文件:以字节为单位存储,需特定软件解析,如图片、视频文件路径表示绝对路径(AbsolutePath)从根目录开始的完整路径,指向唯一位置。例:C:\Users\user\file.txt相对路径(RelativePath)相对于当前工作目录的路径,灵活便捷。例:./data/file.txt跨平台兼容:使用os.pa

温馨提示

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

评论

0/150

提交评论