在翻译、校对和补充这个Python系列的过程中,我学到了很多,同时也有不少读者和学习挑战群学习者的积极反馈,让我觉得做这件事有了更多意义。
如果你是一步步走到这里,那么同样也恭喜你。如果你已经完成了所有的练习和项目,现在你有能力进入数据分析、数据科学、机器学习或web开发的道路。此系列属于初中级的水准。
关于测试平台,测试自动化,性能测试等内容笔者在Github、博客、公众号都有不同的系列实战教程,欢迎继续来围观。
回归主题,接下来让我们对之前所学的内容进行一次快速地回顾和总结,看看都学到哪些 Python 知识点。
首先,第一天中我们主要讲解了什么是Python语言,并说明了如何下载历史版本。笔者比较的推荐版本为3.8、3.9和3.10均可,最新的版本3.11.x虽然有语法和性能提升。但有些第三方库,尤其是一些小众的没那么快适配,或者干脆不会升级的。另外版本的最终选择也要看实际工作中公司内部的已有代码程序的Python版本。
其次,我们在python shell做了些简单的使用练习,这种方式常常用于快速调试。在平常的实际项目开发中一般会用 IDE 开发工具,本系列中推荐的是免费的微软旗下的VS Code。当然还有其他工具如 Pycharm、jupyter、spyder、anaconda 和 atom 等。
最后,实战中讲解了Python的注释,它们是 # 单行注释内容 和 '''多行注释内容''',另外还讲到了Python中的缩进是表示 块 的概念。同时使用Python shell 和 VS Code 简单演示了一些数据运算,以及Python的数据类型。其中我们要着重对几种数据集类型加以不同点区分:
详细学习回顾请阅读:Day1火力全开-初识Python(含系列大纲)
第2天,上来我们先讲了有关Python内置函数的知识点,内置函数是一种全局的函数,在代码里无需额外引用直接使用。比如print(),range() 等。
然后我们讲到了无处不在的变量,主要是讲解命名、声明、赋值,这里我们再次回顾下它的命名规则:
详细学习回顾请阅读:Day2夯实基础-变量和内置函数
第3天,首先认识了数据类型中的布尔值。它只有两值,即 真 和 假。应用场景就是进行相关逻辑判断得到True或False来决定下一步的操作。值这里总结强调的是大多数值都为 True。
另外一个重点是讲解了Python运算:
详细学习回顾请阅读:Day3-布尔值和运算符
第4天,围绕Python字符串类型,分别讲解和示例操作如何创建、拼接、特殊字符转义、三种格式化、多种访问方式,还另外大量举例了字符串本身的一些内置方法。
详细学习回顾请阅读:Day4数据类型-字符串str
第5天,首先学习了Python四种集合类型中的list,重点记住它是有序和可修改的。列表可以为空,也可以有不同的数据类型项。列表同样可以像字符串一样进行一些列的操作。如声明,数据的增删改访问,排序,拷贝,拆包等等。它是由方括号包裹起来的,形如:
[1,2,3,4,5,6,7,8,9]
fruits = ['banana', 'orange', 'lemon']
详细学习回顾请阅读:Day5数据类型-列表list
第6天,来到的集合的第二种类型:元组。它是由一个括号包裹起来,并且一旦创建不可更改。仅有少量的方法可操作,具体为:
tuple():创建一个空的元组count():计算元组中指定项的个数index():返回指定项的索引值+ :连接两个或以上的元组成为新的元组pets = ('cat', 'dog')
详细学习回顾请阅读:Day6数据类型-元组tuple
第7天,set用于存储唯一项,它是无序且没有索引的,可理解为数学中的合集。因此它可以在集合之间进行查找并集、交集、差集、对称差集、子集、超集和不相交集。由大括号 {} 包裹,形如:
seasons = set('spring','summer','autumn',"winter")
set 和 list 可以互转,这里有一个很巧的用途就是列表转集合可以对其进行去重。
详细学习回顾请阅读:Day7数据类型-集合set
第8天, 学习集合类型中的最后一种字典,它是无序、可修改可变、成对的数据类型集合。也用 {} 表示,但区别与set的地方是内部的项目是 key: value 的形式。就是我们平常看到的json形式。
info = {"nickname":"Qi", "profession":"IT农民工"}
字典可以增、改、删、检查、复制、将key或value转换成列表等操作。
详细学习回顾请阅读:Day7数据类型-字典dict
第9天,默认情况下,Python脚本中的语句从上到下依次执行。如果有逻辑处理需要,可以通过以下两种方式改变执行的顺序:
Python中的提交语句关键词为:如果if、否则else、否则如果elif。并且可以与逻辑运算符组合,也可以进行多层的嵌套。
详细学习回顾请阅读:Day9逻辑语句-条件
第10天,Python编程语言提供以下两种循环,用于处理重复性的逻辑:
在循环中有两个重要的关键词break和continue注意区分使用。前者表示跳出整个循环,后者表示跳过本次循环。另外在编程中使用 while(True) 注意内部条件的处理,尽量不要出现死循环。
循环可以嵌套使用,最后还有一个比较好用的 range 来实现范围操作。
详细学习回顾请阅读:Day10 循环
第11天,在前面的学习中,演示了大量的内置函数。这些函数都是为了解决一些特定的问题或者做一些逻辑事情。在日常的程序编写中,我们也可以自己定义函数。所谓函数是为了执行特定任务而设计可重用代码块或编程语句。在Python要定义或声明一个函数,使用了 def 关键字。
def function_name():
# todo 内部代码
def function_with_params(param1,param2):
# todo 内部代码
在函数这篇中,学习了如何定义、声明和调用。并且了解的函数可以无参和带参,以及如何传递参数。最后函数也可以有返回值。
函数对于编程来说太重要了,各位一定要掌握牢固,并在有精力的情况下深入挖掘一下更高级的一些用法。
详细学习回顾请阅读:Day11 函数
第12天,基于函数往上就是模块。它是在应用程序中一个包含一组代码或一组函数的文件。模块可以是包含单个变量、函数或大型代码库的文件。
模块的使用是通过导入和调用的方式。我们可以自定义模块,也可以使用系统默认的模块,更可以使用第三方库下的各种模块。掌握其应用快速编程实现程序功能。
详细学习回顾请阅读:Day12 模块Modules
第13天,基于Day2-Day11 基本上我们就掌握了Python的基础。接下来的就是要学一些高级的内容以及实战应用。今天就是认识两个:
# 经典举例:生成0到10的数字
numbers = [i for i in range(11)]
# 经典举例:实现一个两个数相加的匿名函数
lambda a, b: a + b
以上两种都是多复杂形态的逻辑代码和函数的一种简化操作。如果再加上一些其他逻辑可能有些绕,因此可以通过此篇详细。通过拆解对比来辅助理解。
详细学习回顾请阅读:Day13 列表推导式和Lambda
第14天,主要理解两个内容:
其中还举例三个比较典型的内置高阶函数:map(),filter() 和 reduce()。
详细学习回顾请阅读:Day14 高级函数、闭包和装饰器
第15天,罗列和具体举例了Python的各种错误类型。了解编程语言中不同类型的错误将帮助我们快速调试代码,使其我们写的代码更加健壮。- ImportError这些错误类型包括但不限于:SyntaxError,NameError,IndexError,ModuleNotFoundError,AttributeError,KeyError,TypeError,ValueError,ZeroDivisionError。
详细学习回顾请阅读:Day15 错误类型
第16天,时间在任何一种语言编程均很重要,比如标记时间进行性能计算,日志打印时间等。本篇中主要讲解 datetime 模块使用。使用它的一些方法进行日期时间获取,格式化操作。
详细学习回顾请阅读:Day16 日期时间datetime模块
第17天,此篇中囊括了好几个知识点有点散,让我们来回顾三个比较能到的,如下:
try except 进行捕获,避免程序异常退出;当然还有另外两个 Spread 和 zip 具体用法参考详细文章。
详细学习回顾请阅读:Day17 异常处理、参数打解包、Spread和枚举..
第18天,很多语言都有正则表达式,Python也不例外,应用中常用于模糊匹配查找逻辑中。在本篇中,首先你应该了解后半部分的基本的正则语法,然后再学会用 re 模块下方法:
详细学习回顾请阅读:Day18 正则表达式
第19天,讲解了关于文件处理的Python代码示例。介绍了如何处理不同类型的文件,包括txt、json、csv、xlsx和xml文件。
文本中还介绍了如何使用json模块将JSON字符串转换为字典(json.loads())以及将字典转换为JSON字符串(json.dumps())。此外,还展示了如何将字典保存为JSON文件(json.dump())。
其他还简单演示了:
详细学习回顾请阅读:Day19文件处理
第20天,Python语言的广受大家欢迎的原因除了入门学习简单上手快,还有就是它有很多贡献者们发布的包。利用这些包可以快速实现自己代码程序。而这些包的管理最常用的包管理之一就是PIP。本文中我们详细讲解了安装、卸载、查看、生成项目包依赖,并且了解了如何能够创建自己的发布包。
详细学习回顾请阅读:Day20 PIP包管理
第21天,Python程序中的每个元素都是类的对象,包括它的属性和方法。
本篇首先解释了什么是类和对象,类被定义为具有相似特征和行为的对象的模板,而对象是类的具体实例。然后,深入探讨了如何创建类和实例化对象,并介绍了类中常见的成员,如属性和方法。
接下来还讨论了类之间的继承关系,说明了如何创建子类以及如何继承和重写父类的属性和方法。它还介绍了多重继承的概念,并提供了一些注意事项和最佳实践。
详细学习回顾请阅读:Day21 类和对象
第22天,简单介绍了数据抓取的编程方法。核心用到了两个包 requests 和 BeautifulSoup。最后在课后作业中给出了一个用于实际操作的练习靶场。数据爬虫是Python工程一个分支。本篇只是入门,如果想在此方面专项发展,还需要单独进行深入学习的。
详细学习回顾请阅读:Day22 爬虫python数据抓取
第23天,虚拟环境可以创建一个隔离或分离的环境。这将帮助我们避免项目间依赖关系的冲突。常用并推荐的两个虚拟环境管理包:
详细学习回顾请阅读:Day23虚拟环境
第24天,本篇主要介绍了statistics模块,它是计算数值数据的数学统计的函数,主要用于绘图和科学计算。另外还有NumPy是Python中科学计算的核心库,它提供了高性能的多维数组对象和处理数组的工具。同爬虫一样数据统计分析也是Python领域里一个分支。如果你想深造请学习更多内容。
详细学习回顾请阅读:Day24 统计Statistics
第25天,Pandas是一个开源的Python库,提供了高效、灵活和易于使用的数据结构和数据分析工具。它是数据科学和数据分析中的常用工具之一,广泛应用于数据清洗、处理、转换和分析的任务。
详细学习回顾请阅读:Day25 数据分析Pandas
第25天,Python是个强大语言,同样可以用于Web服务的开发。本篇主要通过 Django和Flask 作为实战的例子进行简单的WEB开发。当然这篇中涉及到前端需要你了解一些HTML\CSS的基础。同样内容只是引路,在当今内卷的前端框架面前,有很多方案,比如vue、react等等。
详细学习回顾请阅读:Day26 Python Web 服务
第27天,有服务就会有数据的持久化。本篇主要介绍非关系型数据MongoDB,通过阅读这篇文章,可以了解如何使用Python与MongoDB进行交互,并掌握基本的插入、查询、更新和删除文档的操作。文内提供了丰富的示例代码和解释,帮助快速上手使用Python与MongoDB进行数据处理和管理。
详细学习回顾请阅读:Day27 Python mongodb
第28天,另外一个非常常用数据就是关系型的Mysql,笔者大奇额外补充了一篇。从环境搭建、配置,数据库创建、使用,表的增删改查都做了详细的演示。
详细学习回顾请阅读:Day28 Python mysql
第29天,最后一篇算是综合应用。首先是讲解了HTTP的基础,回顾两个核心请求方法:
最最后,拿了学生数据的例子,综合数据操作实现一个 RESTful API 服务。
详细学习回顾请阅读:Day29 Python Rest API
到这里,历时半年整个Python基础学习系列完结。但学习是永不能止步的,笔者会继续分享更多的内容。这里推荐我的另外一个真实战系列 githug搜索TestProjectManagement ,它主要是通过0-1手把手教你实现的测试平台,其中后端服务就是Python实现。如果你感兴趣欢迎阅读它。并持续关注。