还剩48页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
入门教程Python欢迎参加我们的入门教程!本课程专为零基础学习者设计,是一份全Python面的学习指南,将带领您从的基础概念逐步过渡到实际应用Python课程内容丰富多样,包含大量实战练习和编程示例,帮助您通过实践巩固所学知识所有材料均为年月最新更新版本,确保您学习的是当前最新、20255最实用的编程技能Python无论您是完全的编程新手,还是想要拓展技术栈的开发者,本课程都将是您学习的理想起点让我们一起开启这段编程之旅吧!Python课程概述课程时长为期周的系统学习,每周安排小时的课程内容,包括理论讲解和实践操153作,确保学习的连贯性和持续性学习目标通过系统学习,全面掌握基础编程能力,能够独立开发简单应用,Python并为进阶学习打下坚实基础软件需求需要安装或更高版本,以及或等集成开Python
3.11VS CodePyCharm发环境,我们将在课程中详细讲解安装步骤适用人群本课程不要求任何编程背景,完全适合初学者只需具备基本的计算机操作能力,就能轻松上手学习简介Python创建历史创建于年,由荷兰程序员设计开发这门Python1991Guido vanRossum语言的名字来源于英国喜剧团体,而非爬行动物Monty Python全球排名根据编程语言流行度指数,在年位居第一,超越了、TIOBE Python2023Java等传统强势语言,显示了其强大的发展势头和广泛的应用前景C应用情况在机器学习领域,约的开发者选择作为首选语言全球范围内,78%Python已有超过万专业开发者在使用进行各类应用开发1400Python社区生态拥有活跃的全球开发者社区,定期举办各种会议和活动软件Python Python基金会负责管理的发展,确保其开源特性和可持续发展PSF Python为什么选择?Python简洁易读的语法结构强调代码可读性的设计理念庞大的第三方库生态系统超过个可用包350,000跨平台兼容性适用于、和Windows MacLinux应用领域广泛从网站开发到人工智能的语法设计非常直观,使用空格缩进而非花括号来划分代码块,大大提高了代码的可读性初学者通常能够在较短时间内掌握基础语法并开始编写实用Python程序庞大的标准库和第三方库生态系统意味着几乎任何功能都能通过导入现有库实现,不需要重新发明轮子这种电池已包含的哲学使开发效率大幅提Python升安装Python下载最新版本访问官方网站,从下载页面选择适合您操作系统的或python.org Python
3.11更高版本始终选择官方发布版本以确保安全性和稳定性安装过程在上,运行安装程序并勾选选项;在Windows AddPython toPATH上,打开安装包按提示操作;在上,大多数发行版可通过macOS.pkg Linux包管理器安装sudo aptinstall python3验证安装安装完成后,打开命令行或终端,输入命令python--version()或(),如显示版本号则Windows python3--version Mac/Linux表示安装成功环境变量配置确保被正确添加到系统环境变量中,这样才能在任何位Python PATH置通过命令行调用安装时请务必勾选相关选项,Python Windows通常自动配置Mac/Linux开发环境设置集成开发环境选择与虚拟环境管理PyCharm VS Code Jupyter Notebook选择合适的对提高编程效是专为设提供交虚拟环境可以为不同项目创IDE PyCharmPython JupyterNotebook率至关重要初学者可以从计的,功能全面但占用系互式编程环境,可将代码、建隔离的环境,避免IDE Python简单的文本编辑器开始,逐统资源较多;则是文档和可视化结果集成在一依赖包冲突使用命令VSCode渐过渡到功能更丰富的集成轻量级编辑器,通过插件支个文档中,特别适合数据分python-m venvmyenv环境主流选择包括持开发,启动速度快,析和教学场景安装命令创建,在上通过Python Windows、和适合各类项目两者都提供,启动PyCharm VSCode pip install jupytermyenv\Scripts\activate代码高亮、自动补全、调试命令激活,在上使用JupyterNotebookjupyter notebookMac/Linux工具等功能source激活myenv/bin/activate第一个程序Python经典入门示例几乎所有编程语言学习都始于编写程序在中,这个程序极其简单,Hello,World!Python只需一行代码这展示了语法的简洁性printHello,World!Python函数print是中最常用的内置函数之一,用于将指定的内容输出到控制台它可以接受print Python多个参数,用逗号分隔,还支持各种格式化选项和输出控制参数交互式解释器提供交互式解释器环境,可以立即执行输入的代码并查看结果在命令行输入Python或进入此环境,适合快速测试代码片段和学习新概念python python3运行文件Python将代码保存为文件后,可以通过多种方式运行在命令行使用命令;.py pythonfilename.py在中使用运行按钮;在上可以直接双击文件(如已关联扩展名)IDE Windows语法基础Python缩进规则注释使用使用缩进来表示代码块,而不是花单行注释以开头;多行注释使用三个引号Python#括号标准缩进为个空格(不建议使用(或)包围良好的注释习惯能提高代4Tab键),缩进不当会导致语法错误这种设计码可维护性,应该解释为什么这样做,而非强制了代码的一致性和可读性仅描述做了什么代码块组织语句和表达式中的函数、循环、条件语句等都通语句是执行某种操作的完整指令,而表达式Python过缩进级别形成代码块相同缩进级别的语是产生值的代码片段在中,每条Python句属于同一代码块,缩进增加表示进入子代语句通常占一行,长语句可使用反斜杠或\码块,减少表示退出当前代码块括号跨行变量和数据类型变量命名规则动态类型系统基本数据类型变量名由字母、数字和下划是动态类型语言,的基本数据类型包Python Python线组成,但不能以数字开头变量类型在赋值时自动确定,括整数、浮点数int区分大小写,使用且可以随时改变这提供了、字符串和布尔Python float str下划线命名法(如灵活性,但也要求开发者更值不同类型数据支bool)是推荐的命加注意类型一致性使用持不同的操作和方法,熟悉my_variable名风格避免使用函数可以查看变量的这些特性是编程的基础Python type的保留关键字作为变量名当前类型类型转换提供内置函数进行Python类型转换转为整数,int转为浮点数,转floatstr为字符串,转为布尔bool值了解这些转换函数的使用限制和异常情况是必要的数值类型详解类型特点示例常用操作整数无大小限制int42,-7,1000000+,-,*,/,//,%,**浮点数有精度限制float
3.14,-
0.001,2e10round,is_integer复数包含实部和虚部complex3+4j,2-1j.real,.imag的整数类型能处理任意大小的整数,不会像其他语言出现溢出问题,这使得它在处理大数据计算时非常有优势整数除法使用双斜杠返回整数结果,单斜Python int//杠则返回浮点结果/浮点数遵循标准,存在精度问题例如,不精确等于,这是二进制浮点表示法的固有限制,需要使用模块处理需要精确小数计算的float IEEE
7540.1+
0.
[0]s[2:5]0开始,负索引表示从末尾倒数切片还可指定步长,如取偶数位置字符s[::2]字符串方法字符串提供丰富的内置方法如、转换大小写;去除Python upperlower strip首尾空白;替换内容;分割字符串;连接字符串;、replace splitjoin find查找内容等count格式化技术现代推荐使用进行字符串格式化,如Python f-stringPython
3.6+fHello,其他方法包括方法和运算符,但语法最为简洁直观,{name}!format%f-string且性能最佳列表Lists列表特性列表是中最灵活的序列类型,使用方括号表示,如列表可变Python[][1,2,3](),意味着创建后可以修改其内容,这与字符串和元组不同列表元素可以是任mutable意类型,甚至可以混合不同类型操作方法列表支持丰富的操作方法添加元素到末尾;在指定位置插入元素;append insert删除指定值的元素;移除并返回指定位置的元素;合并列表;remove popextend sort排序;反转元素顺序reverse嵌套列表列表可以包含其他列表作为元素,形成嵌套结构,这常用于表示矩阵或树形结构访问嵌套元素使用多级索引,如访问第一行第二列的元素注意修改浅拷贝的嵌套列表matrix
[0]
[1]时的副作用列表推导式列表推导式是创建列表的简洁方式,采用[expression foritem initerable ifcondition]语法它比传统的循环更高效,代码更简洁例如,for[x**2for xin range10if创建偶数平方列表x%2==0]元组Tuples元组基本特性单元素元组与解包元组是中的不可变序列类型,使用圆括号表示,如创建单元素元组时,必须在元素后加逗号,如,否则圆括Python1,42,创建后,元组的内容不能被修改,这与列表的可变性形号会被解释为表达式的分组,而非元组定义元组解包是2,3成鲜明对比元组的不可变性使其更安全,特别适合表示固定数的一个强大特性,允许在一行中为多个变量赋值,如Python x,据集,如坐标点、颜色值等,其中是包含两个元素的元组RGB y=point point元组可以包含任意类型的元素,包括其他元组,形成嵌套结构元组相比列表具有性能优势,它们占用更少的内存,创建和访问元组访问方式与列表相同,使用索引和切片操作例如,速度更快在字典中,元组可以作为键使用,而列表不能(因为获取元组的第一个元素,获取颜色元组的列表是可变的)对于不需要修改的数据集合,应该优先考虑使point
[0]colors[1:3]子集用元组而非列表,这是良好的编程实践字典Dictionaries字典基础概念键值对映射结构创建与修改灵活操作数据常用方法高效数据访问字典推导式简洁创建技术字典是中的键值对数据结构,使用花括号表示,如字典的键必须是不可变类型(如字符串、数字或元组),而值可以是任意类型字典是无序集Python{}{name:Alice,age:25}合(保证了插入顺序),通过键而非位置来访问值Python
3.7+创建字典有多种方式字面量语法、构造函数、方法或字典推导式访问字典使用方括号和键名,如,也可使用方法安全访问(不存在的键不dict dict.fromkeys user[name]get会报错)字典支持丰富的方法、、分别获取键、值、键值对;合并字典;移除指定键并返回其值keys valuesitems updatepop字典推导式使用语法创建字典,是一种高效简洁的字典构建方式嵌套字典(字典中包含字典)对表示层次结构数据非常有用,如组织架构、配置文{key:value foritem initerable}件等集合Sets集合是中的无序不重复集合,使用花括号表示,如集合的主要特点是元素唯一性,添加重复元素会被自动忽略,这使得集合非常适Python{}{1,2,3}合去重操作集合元素必须是可哈希的(不可变类型),因此列表和字典不能作为集合元素,但数字、字符串和元组可以集合支持丰富的数学集合操作表示并集,将两个集合的所有元素合并;表示交集,获取同时出现在两个集合中的元素;union|intersection表示差集,获取仅在第一个集合中的元素;表示对称差集,获取仅在一个集合中出现的元素difference-symmetric_difference^集合的性能优势在于成员检测,使用运算符检查元素是否在集合中的时间复杂度为,而列表的检查为这使得集合在处理大量数据去重和快in O1On速查找时表现优异集合推导式使用语法,类似于列表推导式,但创建集合{expression foritem initerable ifcondition}条件语句语句if基本条件判断,在条件为真时执行代码块语句elif提供多条件分支,当前面条件为假时检查语句else提供默认执行路径,当所有条件均为假时执行嵌套条件在条件块内部包含其他条件语句的条件语句使用、(的缩写)和关键字构建决策结构条件表达式计算结果为布尔值或Python ifelif elseif elseTrue,将空字符串、数字、空列表、空字典等视为,非空值视为比较运算符包括(等False Python0False True==于)、(不等于)、(大于)、(小于)、(大于等于)、(小于等于)!===逻辑运算符、和用于组合条件要求两侧条件都为真;要求至少一侧为真;对条件结果取反and or not andornot使用短路求值,即在确定最终结果后不再评估后续条件如在表达式中,若第一个条件为,则不评估Python andFalse第二个条件提供条件表达式(三元运算符)语法这是简化简单Python value_if_true ifcondition elsevalue_if_false if-else结构的优雅方式,特别适合条件赋值场景嵌套条件是可行的,但过深的嵌套会降低代码可读性,应考虑重构为更清晰的结构循环结构循环循环for while循环是中最常用的迭代机制,用于遍历序列(如列表、循环在条件为真时重复执行代码块语法为条件for Pythonwhile while:元组、字符串)或其他可迭代对象基本语法为变量适用于不确定迭代次数的场景,如等待用户输入特定值或处理动for in可迭代对象循环变量会依次获取可迭代对象中的每个元素值态数据务必确保条件最终会变为假,否则会陷入无限循环:函数常与循环配合,用于生成数字序列循环控制语句增强了循环的灵活性立即退出整个循环;range forrange5break生成到的序列;生成到的序列;跳过当前迭代,进入下一次迭代;子句在循环正常04range2,827continue else生成(步长为)是惰性完成(非退出)后执行嵌套循环(循环内包含另一循环)range1,10,21,3,5,7,92range break生成器,不会预先创建整个序列,因此内存效率高用于处理多维数据结构,但要注意潜在的性能影响函数基础函数定义与调用参数传递函数使用关键字定义,格式为函数名参数列表函数体必函数支持多种参数传递方式位置参数根据位置传递;关键字参数使用Python defdef:Python须缩进,可包含任意代码函数通过语句返回值,没有参数名显式指定,如;可以混合使用,但位置参数必须在Python returnreturn funcname=Alice则返回函数调用使用函数名加圆括号,如关键字参数之前参数传递实际是对象引用的传递,可变对象作为参数时需特None别注意function_namearguments默认参数可变参数函数可以为参数指定默认值,如有默函数支持接收不定数量的参数收集额外的位置参数为元组;def greetname,greeting=Hello:Python*args认值的参数必须在无默认值参数之后默认值在函数定义时计算一次,对可变收集额外的关键字参数为字典这提供了极大的灵活性,常用于**kwargs API默认值(如列表)需特别注意,应使用作为占位符设计或包装其他函数函数可以返回多个值,实际是返回一个元组,可通过解None包直接赋值给多个变量函数进阶匿名函数作用域规则表达式创建短小的无名函数,常用于函数式编lambda变量作用域决定了标识符的可见性和生命周期程和回调场景递归函数高阶函数函数调用自身解决问题,适合处理层次结构和数学归将函数作为参数或返回值的函数,提高代码抽象级别纳中的匿名函数使用关键字创建,语法为参数列表表达式函数只能包含单个表达式,不能包含赋值或多条语句尽管功能有限,但在需要简Python lambdalambda:lambda单函数对象的场景(如排序的函数或事件处理)非常实用key GUI变量遵循作用域规则(当前函数)、(嵌套函数外部函数作用域)、(全局作用域)、(内置作用域)关键字声明变量Python LEGBLocal EnclosingGlobal Built-in global为全局变量,关键字访问外部嵌套函数中的变量nonlocal支持函数式编程范式,提供多种高阶函数将函数应用于迭代器中的每个元素;过滤出函数返回的元素;Python mapfunc,iterable filterfunc,iterable True对序列元素累积应用二元函数这些函数与表达式结合使用,能创建简洁高效的数据处理管道functools.reducefunc,iterable lambda模块和包应用程序由多个包组成的完整应用包()Packages包含的模块目录__init__.py模块()Modules单个文件.py函数和类4模块中的可重用代码单元模块是包含函数、类和变量的单个文件,通过语句导入导入语法有多种形式导入整个模块;导入特定成员;Python.py importimport modulefrom moduleimport name使用别名;导入所有内容(不推荐)每个模块有自己的命名空间,防止命名冲突import moduleas aliasfrom moduleimport*包是组织相关模块的目录,必须包含文件(可选但推荐)包支持层次结构导入,如文件在包导入__init__.py Python
3.3+import package.subpackage.module__init__.py时自动执行,可用于包初始化、导出接口或实现延迟加载策略创建自己的包是组织大型项目的最佳实践使用列表查找模块,包含当前目录、环境变量指定的目录和安装目录虚拟环境(或)为项目提供隔离的依赖环境,解决不同Python sys.path PYTHONPATHvirtualenv venv项目的依赖冲突问题,是项目开发的标准做法Python文件操作文件打开使用内置的函数打开文件,语法为常用模式包括Python openopenfilename,mode r只读(默认)、写入(覆盖已有内容)、追加、二进制模式(与其他模式组合)、读w ab+写模式打开文件后必须最终关闭,否则可能导致资源泄漏文件读写文件对象提供多种读取方法读取全部内容为一个字符串;读取一行;read readline读取所有行到列表写入方法包括写入字符串和写入字符串readlines writewritelines列表二进制文件操作时,读取返回字节对象而非字符串上下文管理推荐使用语句(上下文管理器)处理文件操作,格式为with withopenfilename,这确保文件在代码块结束时自动关闭,即使发生异常也能正确释放资源mode asfile:上下文管理器是处理需要配对操作(如打开关闭、获取释放)资源的最佳实践//文件操作进阶文件对象维护一个位置指针,指向当前读写位置方法返回当前位置;tell移动到指定位置文件路径操作推荐使用或模seekoffset,whence os.path pathlib块,它们提供跨平台的路径处理功能,如路径拼接、文件存在检查、目录创建等异常处理异常基础异常是程序运行时发生的错误,中断正常的程序流程使用机制捕获Python try/except和处理异常,使程序能够优雅地响应错误情况,而不是直接崩溃所有异常都是内Python置类的子类Exception异常处理结构完整的异常处理结构包括块包含可能引发异常的代码;块捕获并处理特定类try except型的异常;块在没有异常发生时执行;块无论是否发生异常都执行,通常用于else finally清理资源异常层级异常形成层级结构,从基类派生常见异常包括类Python BaseExceptionTypeError型错误;值错误;键不存在;索引越界;ValueError KeyErrorIndexError文件不存在;除零错误等了解异常层级有助于FileNotFoundError ZeroDivisionError正确捕获特定类别的异常自定义异常可以通过继承类创建自定义异常,这是建立程序特定错误处理机制的好方法Exception自定义异常应具有描述性名称(如),并可在初始化时接受额外InsufficientFundsError信息语句用于主动引发异常,可指定异常实例或异常类raise面向对象编程基础Python1类定义使用关键字定义类,创建自定义对象类型class2对象创建通过类名实例化得到具体对象3属性管理存储在对象内部的数据4方法定义类内部定义的函数,表示对象行为是一种面向对象的编程语言,支持类和对象的概念类是对象的蓝图或模板,定义了对象的属性(数据)和方法(行为)使用关键字定义类,如Python classclass类可以有文档字符串,提供类的描述和用法说明MyClass:对象是类的实例,通过调用类名创建,如每个实例有自己的属性集,不共享属性值(除非使用类变量)对象属性通过点符号访问,如obj=MyClass方法是定义在类内部的函数,表示对象可以执行的操作obj.attribute在类方法中,第一个参数习惯命名为,表示方法操作的实例本身会自动传递参数,调用时无需提供是特殊方法(构造器),在创Python selfPython this__init__建对象时自动调用,用于初始化对象属性了解的作用和使用是面向对象编程的基础概念self面向对象编程进阶继承方法重写继承允许子类获得父类的属性和方法,形式为子类可以重写(覆盖)父类的方法,提供特定实现调用被重写的父类方class ChildParent:支持多重继承,一个类可以继承多个父类,使用逗号分隔多重法可以使用函数,如确保正确处理Python supersuper.method super继承使用方法解析顺序决定方法调用顺序,可通过类的属多重继承场景,是调用父类方法的推荐方式,而非直接使用父类名方法MRO__mro__性查看继承促进了代码重用和层次化设计重写是实现多态性的基础封装特殊方法使用命名约定实现封装单下划线前缀表示属性或方法类可以定义特殊方法(魔术方法)实现特定操作定义对Python_name Python__str__是受保护的,不应直接访问;双下划线前缀触发名称改写,使象的字符串表示;定义对象的开发者表示;、等定义__name__repr____eq____lt__外部难以直接访问这些只是约定,不强制执行访问限制,而是比较操作;、实现索引访问类方法Python__getitem____setitem__依赖开发者遵循我们都是成年人的原则操作类而非实例;静态方法既不操作@classmethod@staticmethod类也不操作实例标准库概览Python标准库是随安装附带的模块和包集合,提供丰富的功能而无需额外安装这体现了电池已包含的设计理念,让开发者能PythonPython Python快速解决常见问题标准库涵盖文件操作、网络通信、数据处理、系统交互等多个领域和模块提供与操作系统交互的功能模块处理文件路径操作、目录创建、环境变量访问等;模块提供解释器相关信息,如命令行os sysos sysPython参数、标准输入输出流控制、模块搜索路径等这两个模块是系统编程的基础工具模块提供日期和时间相关的类,支持日期计算、格式化和解析模块提供额外的容器数据类型,如(有序字典)、datetime collectionsOrderedDict(带默认值的字典)、(计数器)、(双端队列)等,扩展了基础数据结构的功能其他常用标准库包括defaultdict Counterdeque Pythonmath(数学函数)、(随机数生成)、(处理)、(文件处理)等random json JSON csvCSV正则表达式正则表达式基础高级正则特性正则表达式是描述字符串模式的强大工具,在中通过正则表达式支持分组和捕获,使用圆括号定义组分组可以用Python re模块实现正则表达式使用特殊语法定义搜索模式,如匹于提取匹配的子字符串或应用重复操作符到整个组组可以通过\d配任意数字;匹配字母、数字或下划线;匹配空白字符;索引或命名引用,如定义命名组使用\w\s.Pnamepattern匹配任意字符(除换行符);和分别匹配字符串开头和结尾;获取整个匹配,获取第一个^$match.group0match.group
1、、表示重复(或多次、或多次、或次)分组内容*+0101模块的基本函数包括在字符串中查找匹配;原始字符串在定义正则表达式时非常有用,它禁用re re.search rpattern从字符串开头匹配;找出所有匹配;字符串中的转义处理,避免需要双重转义例如,表示单个反斜re.match re.findall替换匹配的子串这些函数都接受模式字符串和目标字杠,普通字符串需写作,而原始字符串只需贪婪与非re.sub\\r\符串作为参数对于频繁使用的模式,可以使用预贪婪匹配控制重复操作符的行为默认贪婪(尽可能多匹配),re.compile编译提高性能添加变为非贪婪(尽可能少匹配),如.*数据处理JSON格式简介与转换JSON JSONPython是一种轻量级数据交换格式,易于人阅读和编的模块提供处理能力将对象转换为JSONJavaScript ObjectNotation Python jsonJSON json.dumps PythonJSON写,也易于机器解析和生成它基于键值对结构,语法源于但与语言无关字符串;将字符串解析为对象文件操作对应JavaScript json.loads JSONPythonjson.dump已成为、配置文件和数据存储的流行格式,支持字符串、数字、布尔和函数,直接对文件对象操作和数据类型有直接映射JSON Web API json.load PythonJSON值、、对象和数组等数据类型,,,,null dict↔object list/tuple↔array str↔string int/float↔number,True/False↔true/false None↔null处理复杂结构实用技巧处理嵌套的结构时,可以使用多级字典和列表访问例如,函数接受多个格式化参数设置缩进级别,使输出更易读;JSONjson.dumps indent访问列表的第一项中的字段模块提按键排序输出;控制非字符处理处理大型文件时,data[results]
[0][name]results namejson sort_keys ensure_ascii ASCIIJSON供了自定义编码器和解码器的能力,可以通过扩展和类考虑使用流式解析(如库)以避免内存问题模式验证(如库)JSONEncoder JSONDecoderijson JSONjsonschema处理自定义对象,或通过和参数提供转换函数可确保数据符合预期结构,提高应用健壮性Python defaultobject_hook JSON命令行参数处理基础参数访问参数解析参数验证用户体验使用列表获取命令行参数使用模块构建复杂参数系统确保参数类型和值符合预期提供清晰的帮助信息和错误处理sys.argv argparse提供多种处理命令行参数的方法,从简单到复杂最基本的方法是使用列表,它包含所有命令行参数,是脚本名称,之后是用户提供的参数这种方法简单Python sys.argv sys.argv
[0]但功能有限,适合参数较少且结构简单的脚本模块是标准库中处理命令行参数的强大工具,支持自动生成帮助信息、参数类型转换、必选和可选参数、位置参数和命名参数、子命令等高级功能使用步骤创建argparse Python对象,添加参数定义,解析命令行,访问解析结果每个参数可以指定名称、类型、帮助文本、默认值和动作ArgumentParser命令行工具开发的最佳实践包括提供清晰简洁的帮助信息;使用一致的命名风格(如和短选项);合理设置默认值减少用户输入;提供适当的错误信息;遵循沉默--long-option-s成功,报告失败原则;考虑支持配置文件减少重复输入;添加版本信息帮助用户了解工具状态良好的命令行界面设计可以大幅提高工具的可用性日期和时间处理3类型模块提供多种时间相关类型datetime24时区处理全球不同时区的时间转换60格式化自定义时间表示的字符串格式365计算执行日期时间算术运算的模块提供了多种类用于处理日期和时间类表示日期和时间;类仅表示日期;类仅表示时间;类表示时间间隔创建日期时Python datetime datetimedatetime timedelta间对象有多种方式手动指定年月日时分秒;使用、获取当前时间;通过从字符串解析;使用从时间戳创建today nowstrptime fromtimestamp日期和时间计算在中非常直观使用加减运算符和对象可以进行日期计算,如计算天后的日期;比较运算符可以比较日Python timedelta7my_date+timedeltadays=7期的先后;和对象提供多种属性访问信息(如、、等)和方法(如获取星期)date datetimeyear monthday weekday时区处理是日期时间操作的关键挑战默认创建的对象是的(不包含时区信息)使用类和子类可以创建对象(包含时区)处理国datetime naivetimezone tzinfoaware际时间推荐使用第三方库,它提供完整的时区数据库和相关功能时间格式化使用方法和格式代码(如年、月、日等),而方法则用于从pytz strftime%Y%m%d strptime字符串解析时间与网络Python网络基础的模块提供了底层网络通信能力,是其他网络库的基础它允许创建Python socket套接字,建立客户端和服务器程序虽然功能强大,但直接使用编程TCP/UDP socket相对复杂,需要手动处理连接、数据传输和错误情况客户端HTTP库是处理请求的事实标准,提供简洁易用的它支持、requests PythonHTTP APIGET等各种方法,处理参数、表单数据、、、会话管理、身POST HTTPURL JSONcookies份验证和代理相比标准库的,设计更现代,接口更符合直觉urllib requests网络客户端开发可以轻松开发各种网络客户端应用,如邮件客户端、、Python smtplibimaplib FTP客户端、客户端等对于更复杂的场景,如或异ftplib SSHparamiko WebSocket步通信,可以使用或模块websockets asyncio交互API现代应用开发经常需要与交互结合和模块可以轻松REST APIPython requestsjson实现调用发送请求,解析响应,处理认证和错误情况许多服务提供API JSON客户端库,进一步简化使用Python API数据持久化文本文件与对象序列化与数据库CSV文本文件是最基本的数据存储方式的文件操作函数提模块实现了对象的序列化和反序列化,允许将几Python picklePython供了读写文本的能力,适合处理日志、配置文件等简单数据对乎任何对象保存到文件并恢复这比自定义文本格式更Python于结构化表格数据,模块提供了专门的处理工具,支持读写灵活,但序列化的数据是特有的二进制格式,不适合与csv Python文件,处理不同分隔符和引号规则其他语言交换安全问题也需要注意不应加载不受信任来源的CSV数据pickle和函数用于基本操作•reader writerCSV对于结构化数据,提供了轻量级的关系数据库选项,通和类提供基于字典的访问SQLite•DictReader DictWriter过模块集成到标准库这是一个无需服务器的嵌sqlite3Python可以处理各种方言和自定义格式•CSV入式数据库,适合中小型应用使用时通过连接对象和游标SQL对象执行语句,支持参数化查询防止注入攻击SQL SQL开发入门Web框架概述Web入门Flask拥有多种成熟的框架,适合不同规模和需求的Python Web轻量级微框架,简单灵活,适合小型应用和开发API项目模板渲染路由系统使用模板引擎生成动态内容将映射到视图函数,处理不同请求Jinja2HTML URLHTTP拥有丰富的开发生态系统,主要框架包括(全能型框架,内置、管理后台等);(微框架,轻量灵活);(现代高性能框架,支持异步和类型提示);Python WebDjango ORM Flask FastAPI(中等复杂度,高度可配置)选择框架应考虑项目规模、团队经验和性能需求Pyramid是初学者友好的框架,安装简单(),最小应用仅需几行代码基本结构包括应用实例(对象);路由装饰器();视图函数(处理请求并返回Flask Webpip installflask Flask@app.route响应);启动命令()默认使用模板引擎,通过函数渲染,支持变量插值、条件语句、循环和模板继承app.run FlaskJinja2render_template HTML应用通常需要处理表单提交和数据存储可通过对象访问数据,支持文件上传、和会话管理数据库集成可以使用等扩展,提供Web Flaskrequest GET/POST cookiesFlask-SQLAlchemy能力扩展生态系统丰富,能轻松添加用户认证、支持、异步任务等功能,使其能够应对各种开发需求ORMFlaskAPI Web数据分析基础基础数据结构NumPy Pandas是科学计算的基础库,提供高性能的多维数组对象和相关运算功能建立在之上,提供更高级的数据分析工具核心数据结构是NumPy PythonPandas NumPySeries数组是同构类型的容器,支持向量化操作,比原生列表(一维带标签数组)和(二维表格,类似工作表)NumPy ndarrayPython DataFrameExcel处理数值计算快数十到数百倍主要特性包括数组创建函数支持多种数据导入方式,如等,array,zeros,DataFrame read_csv,read_excel,read_sql;数组索引和切片;广播机制;线性代数操作能方便地从各种来源加载数据数据访问可使用标签、位置或混合索引ones,arange lociloc数据处理统计分析提供丰富的数据清洗和转换功能缺失值处理;数据内置了常用统计函数,如提供汇总统计,Pandas dropna,fillna Pandasdescribe mean,median,转换;重塑和透视;分组聚合计算基本统计量,计算相关性,计算协方差结合和astype,apply pivot,melt stdcorr covmatplotlib;合并连接这些操作可以用流畅库,可以方便地创建各种数据可视化,帮助理解数据分布和关系这些功groupby.agg merge,join,concat seaborn的链式调用风格编写,提高代码可读性和开发效率能使成为数据科学工作流中不可或缺的工具Pandas数据可视化与自动化Python自动化脚本开发任务调度文件系统自动化是自动化脚本的理想语言,语自动化任务通常需要按计划执行在类文件操作是最常见的自动化任务Python法简洁易读,标准库和第三方包覆盖了系统中,可以结合服务调度提供了丰富的文件系统操作Unix cronPython API几乎所有自动化场景从简单的文件重脚本;在上,可以使和模块处理文件和目录操作;Python Windowsos shutil命名到复杂的系统管理任务,用任务计划程序也提供了提供面向对象的路径处理;Python Pythonpathlib glob都能高效处理自动化脚本通常包括输库实现纯调度对于模块支持文件名模式匹配;和schedule Pythonzipfile入获取、数据处理和结果输出三个阶段,需要持久运行的任务,可以使用处理压缩文件;创建临tarfile tempfile可以使用参数、配置文件或环境变量控()或服务时文件和目录这些工具结合起来,可systemd LinuxWindows制行为等分布式任务队列适合处理复杂以构建强大的文件处理自动化流程Celery的任务调度场景自动化测试测试自动化是提高软件质量的关键提供了、等测Python unittest pytest试框架,支持单元测试、集成测试和功能测试用于应用测试,Selenium Web可自动化浏览器操作;允许PyAutoGUI自动化桌面应用操作,控制鼠标和键盘;库可以模拟复杂系统的组件,简Mock化测试持续集成工具(如、Jenkins)可以自动运行测试GitHub Actions套件爬虫入门Web爬虫基础知识爬虫是自动获取和处理网页内容的程序开发爬虫前需了解基本概念协议工作原理;Web HTTP基础;规则;网站服务条款;法律法规限制爬虫应遵循礼貌原则HTML/CSS/JavaScript Robot.txt控制请求频率;标识身份();尊重;处理错误和重试不当使用爬虫可能违反User-Agent robots.txt法律或服务条款网页获取与解析获取网页内容通常使用库,它处理请求细节,支持各种认证方式和会话管理网页内requests HTTP容获取后,需要解析提取所需数据是最流行的解析库,提供导航和搜HTML BeautifulSoupHTML索树的简单它支持多种解析器(如、、),可以使用选DOM APIhtml.parser lxmlhtml5lib CSS择器或自定义方法查找元素高级爬虫技术处理渲染的网页需要特殊技术可以使用控制真实浏览器;或使用JavaScript Selenium、等无头浏览器工具;更轻量的选择是库,它集成了简单Playwright Puppeteerrequests-html的渲染能力防爬机制应对策略包括轮换和地址;使用代理服务器;模拟人JS User-Agent IP类行为模式;处理验证码(可能需要人工干预或专门服务)数据提取与存储从解析的中提取数据可使用多种方法使用属性获取文本内容;使用方法获HTML textget取属性值(如链接);使用正则表达式处理复杂模式提取的数据通常存储为结构化格式URL文件适合表格数据;灵活通用;或其他数据库支持复杂查询;数据分析通CSV JSONSQLite常使用进行后处理和清洗Pandas DataFrame性能优化算法优化选择合适的算法和数据结构代码优化改进代码效率Python内存管理减少内存使用和优化分配并行处理利用多核和分布式计算性能优化应该始于测量和分析,而非主观判断提供了多种性能分析工具模块和函数测量执行时间;和模块提供详细的函数调用分析;Python timetimeit cProfileprofile memory_profiler监控内存使用;分析每行代码的性能性能瓶颈识别后才能有针对性地优化line_profiler算法复杂度是影响性能的关键因素选择合适的算法和数据结构可以显著提升效率使用适当的容器类型(列表、集合、字典);利用内置函数和方法(如、);避免不必要的sum list.sort计算和重复工作;理解时间复杂度和空间复杂度权衡标准库中和等模块提供了专用数据结构,可在特定场景提升性能Python collectionsheapq内存使用优化对处理大数据集至关重要使用生成器表达式替代列表推导式可减少内存占用;考虑使用限制实例属性;大型数组使用代替列表;避免不必要的拷贝;及时释放不__slots__NumPy再使用的大对象对于密集型任务,可考虑使用解释器,它的即时编译通常比快几倍对于极端性能需求,可使用或编写扩展模块CPU PyPyCPython CythonC并发编程多线程适合密集型任务I/O多进程适合密集型任务CPU异步IO高性能事件驱动编程模型提供多种并发编程模型,适用于不同场景多线程通过模块实现,创建对象并调用方法启动线程线程共享进程内存空间,便于数据交换,但Python threadingThread start存在全局解释器锁限制,使得多线程在密集型任务上无法真正并行多线程主要适用于密集型任务,如网络通信、文件读写等等待外部资源的场景GIL PythonCPU I/O多进程通过模块实现,类似但创建独立进程进程有独立内存空间,需通过特殊机制共享数据(如、、共享内存)多进程绕过了multiprocessing APIthreading QueuePipe限制,可以真正利用多核并行计算,适合密集型任务类创建进程,类管理进程池,适合处理大量同质任务提供更简单的高级GIL CPUCPU ProcessPool ProcessPoolExecutor接口异步是现代高性能应用的首选并发模型提供标准库,使用语法实现协程协程是可暂停和恢复的函数,允许在等待时执行其他IO Python Python
3.4+asyncio async/await IO任务异步是单线程模型,避免了多线程的复杂同步问题,同时提供很高的并发能力、等库提供异步网络和数据库操作异步特别适合高并发网络应用,IO aiohttpasyncpg IO如服务器和客户端WebAPI虚拟环境Python虚拟环境是独立的解释器环境,允许项目使用不同版本的包而不发生冲突这解决了依赖地狱问题,即不同项目需要同一个包的不同版本标准库提供Python Python模块创建虚拟环境创建环境;在上使用激活;在上使用激活;venv python-m venvmyenv Windowsmyenv\Scripts\activate Unixsource myenv/bin/activate使用命令退出环境deactivate是更现代的环境管理工具,结合了和功能,自动创建和管理虚拟环境,并提供锁文件确保环境可重现使用安装;Pipenv Pythonpip virtualenvpip installpipenv创建环境和安装依赖;激活环境;和文件管理依赖是另一个现代工具,专注于依赖管理和包发布,使用pipenv installpipenv shellPipfile Pipfile.lock Poetry文件符合最新打包标准pyproject.toml Python是流行的跨平台环境管理系统,特别适合数据科学工作流它不仅管理包,还能处理库和其他语言依赖提供最小安装,而包Conda PythonC/C++Miniconda Anaconda含预安装的数据科学包对于多项目开发,虚拟环境的最佳实践包括为每个项目创建独立环境;使用或依赖管理文件记录依赖;在版本控制中包含依requirements.txt赖文件但排除虚拟环境目录;考虑使用虚拟环境包装器简化日常工作流测试与调试测试框架调试与开发实践提供多种测试工具,标准库的模块实现了内置调试工具包括语句(简单但有效)和模块Python unittestPython printpdb风格的测试框架测试用例定义为子类,测试方(交互式调试器)提供单步执行、断点设置、变量检查等xUnit TestCasepdb法名以开头断言方法(如、)功能,可通过启动或在代码中插入test_assertEqual assertTruepython-m pdbscript.py验证代码行为是否符合预期提供测试发现、测试套件()集成调试器(如unittest breakpointPython
3.7+IDE组织和测试运行器、)提供更友好的图形界面和高级功能PyCharm VSCode是更现代、更灵活的测试框架,使用简单的函数作为测测试驱动开发是一种编程方法论,先编写测试,再实现功pytest TDD试用例,自动发现测试文件和函数提供丰富的断言机能代码工作流程包括编写一个失败的测试;编写最小pytest TDD制、参数化测试、(测试资源管理)和插件生态系统代码使测试通过;重构代码改进设计;重复上述过程这种方法fixtures相比,代码更简洁,功能更强大,已成为促进了模块化设计、全面测试覆盖和可维护代码测试覆盖率工unittestpytest测试的主流选择具(如)可以衡量测试执行了多少源代码,帮助发现Python coverage未测试的代码路径项目结构和代码组织项目目录结构模块化设计良好的项目结构提高了代码可维护性和可扩展性项目通常遵循一定模块化是管理复杂性的关键设计原则包括单一职责原则(一个模块只做Python的目录结构约定顶层包名应简洁、描述性且唯一;目录包含测试代码;一件事);高内聚低耦合(相关功能组合,最小化依赖);接口与实现分离tests目录存放文档;或定义包元数据和依赖;(提供稳定,隐藏实现细节)模块应该是自足的功能单元,有明确的docs setup.py pyproject.toml API提供项目概览;文件声明许可条款布局(源码公共接口使用相对导入()在包内引用模块,避README.md LICENSEsrc from.import module位于目录下)是现代项目推荐的结构免硬编码包名src/Python配置管理大型项目结构应用配置应与代码分离,便于在不修改代码的情况下更改行为配置管理策大型项目需要额外的组织策略按功能或领域划分包;使用工厂模式和依赖略包括环境变量适合基本设置和敏感信息;配置文件(、、注入降低组件耦合;实现插件系统支持扩展;采用领域驱动设计明确边界INI YAML、)适合复杂设置;命令行参数适合运行时选项常用库包括文档至关重要,应包括架构概览、模块职责、参考和开发指南版本控JSON TOMLAPI(文件)、(文件)和制工具(如)结合分支策略和代码审查流程,有助于多人协作开发configparser INIpyyaml YAMLpython-dotenv Git(文件)配置应分层,允许环境特定覆盖默认值.env代码质量与风格编码规范静态分析是官方的编码风格指南,定义静态分析工具在不执行代码的情况下发现问题PEP8Python了格式化约定空格缩进;最大行长字符;是全面的代码分析器,检查风格和错误;479pylint适当的空行和空格;命名约定(函结合了多个工具,速度更快;执snake_case flake8mypy数和变量,类);注释和文档字符行类型检查,验证类型注解这些工具可以集CamelCase串最佳实践遵循一致的编码风格提高代码可1成到编辑器、和管道中,自动化代码质IDE CI读性和可维护性,特别是在团队环境中量检查过程代码审查类型提示代码审查是提高质量的关键实践自动化工具引入了类型注解系统,允许声明Python
3.5+如(代码格式化器)和(导入排序变量、参数和返回值的类型类型提示不影响black isort器)可以标准化格式,让审查专注于实质内容运行时行为,但能被静态分析工具使用重构是改进现有代码的过程,常见技术包括提模块提供了类型定义,如、、typing ListDict取方法、引入中间变量、简化条件表达式等等类型提示提高了代码的自文档性,Optional有助于捕获类型相关错误案例研究命令行工具工具设计一个好的命令行工具应遵循哲学做一件事并做好;接受文本输入和输出;可与其他工具组合Unix我们将开发一个文本处理工具,实现文本统计、转换和过滤功能设计阶段需要明确工具目标、用户界面和功能范围,考虑用户如何与工具交互,包括参数格式、选项命名和默认行为参数处理使用模块构建命令行界面,定义主参数(输入文件)和各种选项(统计字数,argparse--count转换大写,筛选行)每个选项需要有明确的帮助文本和合理的默认值处理--upper--filter异常情况,如文件不存在、权限问题或无效输入,提供有用的错误信息指导用户解决问题核心功能实现各命令对应的处理函数统计词频,返回按频率排序的单词列表;count_words处理大小写转换、空白清理和特殊字符替换;根据关键词text_transform filter_content或正则表达式筛选行这些函数应设计为纯函数,接受输入并返回结果,便于测试和重用用户体验优化使用或库添加彩色输出和格式化,提升可读性实现进度指示(如进度条rich colorama或旋转器)处理大文件时提供反馈添加详细模式()输出处理细节,和安静--verbose模式()仅显示结果最后打包工具为可安装的包,使用配置--quiet Pythonsetuptools自动创建可执行脚本entry_points案例研究数据处理程序数据获取与加载我们将开发一个销售数据分析程序,处理格式的交易记录首先使用读取数据CSV pandasdata=处理常见的数据加载问题,如编码错误(参数)、分隔符变化pd.read_csvsales.csv encoding(参数)和缺失值处理(参数)实现数据验证确保必要字段存在且类型正确sep na_values数据清洗与转换原始数据通常需要清洗处理缺失值(或);修正数据类型();规范化日期fillna dropnaastype格式();移除重复记录();处理离群值(通过统计方法识别和处to_datetime drop_duplicates理)转换步骤包括创建新的计算字段;分类编码;时间特征提取(如月份、星期几);应用业务规则(如折扣计算)分析与统计使用和执行数据分析按产品类别、区域或时间分组();计算汇总统计pandas numpygroupby(、、);交叉分析();时间序列分析();相关性分析sum meancount pivot_table resample()识别销售趋势、产品表现和客户行为模式,生成业务洞察使用统计测试验证假设,如corr t检验比较不同组的均值可视化与报告使用和创建可视化销售趋势线图;产品类别条形图;区域销售饼图;散点图matplotlib seaborn显示价格与销量关系;热力图展示相关性生成自动化报告,使用或创建Jupyter notebooks报告(可使用如或模板)实现结果导出功能,支持多种格式(如PDF/HTML librariesfpdf jinja
2、、)满足不同用户需求Excel CSVJSON案例研究应用Web应用架构我们将开发一个任务管理系统,使用框架、和模板引擎项目结构采用功能模块化组织Flask SQLAlchemyORM Jinja2模块包含应用代码;存放模板;包含、和图片;定义数据模app/templates/HTML static/CSS JavaScriptmodels.py型;处理路由;定义表单;管理配置使用蓝图将应用分为多个模块,如routes.py URLforms.py config.py Blueprint(认证)、(任务管理)和(接口)auth tasksapi REST用户认证实现基本的用户系统注册表单收集用户信息;密码加密存储使用;登录处理使用管理用werkzeug.security flask_login户会话;权限控制限制资源访问;密码重置功能通过邮件发送重置链接安全方面考虑保护、请求限速、安全会话CSRF配置,以及防止常见漏洞如注入和攻击Web SQLXSS数据库集成使用定义数据模型模型存储用户信息;模型表示待办事项;和模型实现分类功SQLAlchemy UserTask CategoryTag能;模型之间定义关联关系(一对多、多对多)实现数据库操作逻辑创建、读取、更新和删除功能;数据验CRUD证和错误处理;事务管理确保数据一致性;数据库迁移使用处理架构变更Flask-Migrate前端与API设计响应式用户界面使用框架;使用模板实现页面渲染,包括模板继承、条件渲染和循环;使用Bootstrap Jinja2AJAX技术实现动态交互,如任务状态更新无需刷新页面构建定义资源端点遵循原则;实现序列RESTful APIREST JSON化;支持分页和过滤;提供文档最后部署应用考虑服务器、反向代理和容器化API WSGIGunicorn NginxDocker生态系统Python包管理与分发流行库概览社区参与包索引是官方的包仓库,生态系统包含各领域优质库开发拥有活跃的开源社区参与方式包括Python PyPIPython Python Web Python托管超过万个项目使用工具安装包(、、);数据科学为开源项目贡献代码,从修复简单开始;提35pip DjangoFlask FastAPIbug安装最新版本;(、、);机器学习交文档改进;参与讨论和代码审查;报告并验证pipinstall package_name pipNumPy PandasSciPy安装特定版本;(、、);;在回答问题;参加或组织installpackage==
1.
2.3pip TensorFlow PyTorch scikit-learn bugStack Overflow安装项目依赖开图形界面(、、);网络本地用户组;参加等技术会议install-r requirements.txt TkinterPyQt KivyPython PyCon发自己的包时,使用配置打包信息,(、、);自贡献开源有助于提升编程技能,建立专业网络setuptools RequestsBeautiful SoupScrapy创建或;使用上动化(、、);游戏开setup.py pyproject.toml twineAnsible FabricSelenium传到发(、)了解主流库避免PyPI PygamePanda3D重新发明轮子职业发展Python高级学习路径机器学习与数据科学进阶学习包括数学基础(线性代数、概率统计、微积分);机器学习算法(监督无监督学习、深/度学习);或等框架;数据可视化和特征工程;模型评估和调优;和TensorFlowPyTorchMLOps模型部署推荐资源机器学习课程、《》、竞Coursera Hands-On MachineLearning Kaggle赛开发与后端工程Web深入学习方向高级框架特性(如、扩展);数据库设计和优化;Django ORMFlask RESTful设计原则;认证和授权系统;消息队列和异步处理;微服务架构;容器化和云部署;性能优化和API监控实践建议构建个人项目,贡献开源框架,尝试不同数据库系统Web自动化与DevOps进阶知识包括系统编程和脚本;配置管理工具(、);容器技术(、Shell AnsiblePuppet Docker);管道构建;云服务(、、);基础设施即代码;监控和日Kubernetes CI/CD AWSAzure GCP志管理;安全自动化推荐学习路径从小型自动化脚本开始,逐步构建完整流水线游戏开发与图形界面专业化方向及游戏物理引擎;或高级特性;图形和动画;声音处理;Pygame PyQtTkinter2D/3D事件驱动编程;用户体验设计;性能优化技术项目构想开发小型游戏克隆,构建实用桌面应用,尝试交互式可视化工具,探索跨平台发布实用编程技巧代码复用策略性能陷阱避免避免重复是提高代码质量的核心原则实现复用的技术包括提取常用功了解常见性能问题避免在循环中增长列表(使用列表推导式或Python能为函数;创建通用类和混入类;使用装饰器封装横切关注点;创建实用预分配);注意字符串连接(使用而非);减少全局查找(使用局join+工具模块集合常用操作;考虑设计模式如工厂、单例和策略模式明确部变量);合理使用生成器避免内存消耗;理解内存管理和垃圾Python设计,区分公共接口和内部实现,为未来扩展留出空间回收机制;使用适当数据结构(如集合用于成员检测);避免不必要的深API拷贝调试与问题解决开发效率提升高效调试技术使用打印语句追踪执行流程;掌握断点和调试器使用;审提高日常编程效率掌握快捷键和代码自动补全;使用代码片段和模IDE查变量类型和值;简化问题,创建最小复现示例;检查异常堆栈跟踪;使板;合理使用版本控制(小步提交,有意义的提交信息);自动化重复任用日志代替打印;利用单元测试验证修复;通过二分法定位问题(注释掉务;使用和保持代码质量;构建个人代码库和笔记系统;linter formatter一半代码);查阅文档和源码理解预期行为优化工作环境和工具链;规律休息,避免过度劳累导致低效总结与问答课程回顾学习资源我们的入门课程已经完成,涵盖了从基继续深入学习的推荐资源官方文档Python础语法到实际应用的全面知识核心内容包括()是最权威的参考;《流畅docs.python.org基础概念和语法结构;数据类型和控制的》深入语言特性;《PythonPythonPython流;函数和模块化编程;面向对象编程;文件和》提供实用代码片段;Cookbook RealPython数据处理;异常处理;标准库和第三方库;实际和提供定期更新的教程和文章;Python Weekly项目开发案例这些知识构成了编程的上的列表汇总了优质Python GitHubawesome-python坚实基础资源;解答特定问题;Stack OverflowPyCon会议视频分享最新实践后续学习学习是持续的旅程,建议下一步选择专业方向深入探索(数据科学、开发、自动化等);PythonWeb参与实际项目积累经验;加入开源社区学习协作;构建个人项目组合展示能力;网络交流结识同行;保持好奇心,跟踪生态系统发展学以致用是掌握编程的关键Python感谢参与本次入门教程!如有任何疑问,请随时在课程论坛提问或通过以下方式联系我们电子邮件Python,微信公众号,群我们提供课后技术支持和学习python@example.com PythonCNQQ123456789指导,帮助你解决学习中遇到的问题祝您的学习之旅愉快而富有成效!记住,编程能力来自持续实践,不要害怕犯错,每个错误都是宝贵Python的学习机会期待在的世界中见证您的成长和成就!Python。
个人认证
优秀文档
获得点赞 0