作者:艾文,计算机硕士学位,企业内训讲师和金牌面试官,公司资深算法专家,现就职BAT一线大厂。 内容:跟艾文学编程《Python基础》 学习目标 Python简介 Python常用的库 Python第一个程序 Python开发环境 Jupyternotebook的介绍 Python基础规则 Python数据类型 Python中的标准操作符 循环与判断 Python字符串类型 Python简介 1989年圣诞节:GuidovonRossum开始写Python语言的编译器。 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对类,函数,异常处理等构造块的支持,同时提供了列表和字典等核心数据类型,同时支持以模块为基础的拓展系统。 1994年1月:Python1。0正式发布。 2000年10月16日:Python2。0发布,增加了实现完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。 2008年12月3日:Python3。0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python2。x版本,所以Python3。x的很多新特性后来也被移植到Python2。62。7版本中。 目前我们使用的Python3。7。x的版本是在2018年发布 全世界差不多有600多种编程语言,但流行的编程语言也就那么20来种。不知道你有没有听说过TIOBE排行榜。 这是2019年5月编程语言排行榜榜单: Top10编程语言TIOBE指数走势 总的来说,这几种编程语言各有千秋,但不难看出,最近几年Python的发展非常的快,特别最近流行的机器学习,数据分析,更让python快速的发展起来。Python常用的库 Numpy NumPy(NumericalPython)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 Pandas pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。Pandas纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。 Matplotlib Matplotlib是Python的绘图库。它可与NumPy一起使用,提供了一种有效的MatLab开源替代方案 Seaborn Seaborn其实是在matplotlib的基础上进行了更高级的API封装,从而使得作图更加容易,在大多数情况下使用seaborn就能做出很具有吸引力的图,而使用matplotlib就能制作具有更多特色的图。应该把Seaborn视为matplotlib的补充,而不是替代物 Python第一个程序 Python开发环境搭建 集成开发环境(IDE):PyCharm(大型项目开发使用) PyCharm下载地址:https:www。jetbrains。compycharmdownload 直接安装官网python(不推荐) 下载地址:https:www。python。org 科学计算环境Anaconda(学习过程推荐使用) 下载地址:https:www。anaconda。comdistributiondownloadsection Mac下安装:https:www。datacamp。comcommunitytutorialsinstallinganacondamacosx Windows下安装:https:www。datacamp。comcommunitytutorialsinstallinganacondawindowsJupyternotebook的介绍 参考操作手册《docsJupyterNotebookCheatSheet。pdf》 JupyterNotebook是一种开发工具,可以通过图形化的界面分析数据。Python基础规则命名规范 模块 模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况) 类名 类名使用驼峰(CamelCase)命名风格,首字母大写 函数 函数名一律小写,如有多个单词,用下划线隔开 变量名 变量名尽量小写,如有多个单词,用下划线隔开 常量 常量采用全大写,如有多个单词,使用下划线隔开 注释规范 块注释 行注释 文档注释 开头和结尾,首行不换行,如有多行,末行必需换行,以下是Google的docstring风格示例 对函数参数、返回值等的说明采用numpy标准 基本数据类变量赋值 Python中的变量赋值不需要类型声明 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建 标准数据类型 在内存中存储的数据可以有多种类型。 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) Python数字 数字数据类型用于存储数值。 不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象 Python支持四种不同的数字类型: int(有符号整型) long(长整型〔也可以代表八进制和十六进制〕) float(浮点型) complex(复数)长整型也可以使用小写l,但是还是建议您使用大写L,避免与数字1混淆。Python使用L来显示长整型。Python还支持复数,复数由实数部分和虚数部分构成,可以用abj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。注意:long类型只存在于Python2。X版本中,在2。2以后的版本中,int类型数据溢出后会自动转为long类型。在Python3。X版本中long类型被移除,使用int替代。Python字符串 字符串或串(String)是由数字、字母、下划线组成的一串字符 使用〔头下标:尾下标〕来截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。 python列表 List(列表)是Python中使用最频繁的数据类型。 列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。 列表用〔〕标识,是python最通用的复合数据类型。 列表中值的切割也可以用到变量〔头下标:尾下标〕,就可以截取相应的列表,从左到右索引默认0开始,从右到左索引默认1开始,下标可以为空表示取到头或尾。 Python元组 Python字典 字典(dictionary)列表是有序的对象集合,字典是无序的对象集合。 两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。 字典用{}标识。字典由索引(key)和它对应的值value组成。 Python数据类型转换 对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。 以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。 注:在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。 Python中的标准操作符 Python算术运算符 以下假设变量:a10,b20 Python比较运算符 以下假设变量a为10,变量b为20 Python赋值运算符 以下假设变量a为10,变量b为20 Python位运算符 按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下: 下表中变量a为60,b为13,二进制格式如下 Python逻辑运算符 Python语言支持逻辑运算符,以下假设变量a为10,b为20 Python成员运算符 除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组 Python身份运算符 身份运算符用于比较两个对象的存储单元 Python运算符优先级 以下表格列出了从最高到最低优先级的所有运算符 循环与判断 ifStatements Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程:语法格式:if判断条件1:执行语句1elif判断条件2:执行语句2elif判断条件3:执行语句3else:执行语句4 forStatements Pythonfor循环可以遍历任何序列的项目,如一个列表或者一个字符串。 语法:for循环的语法格式如下:foriteratingvarinsequence:statements(s) while语句类似于for,迭代序列进行操作 Therange()Function 如果你需要对序列类型的数据通过序列号进行迭代,可以通过range函数来处理 breakandcontinueStatements 类似在C语言中,break语句多用在while和for循环中 passStatements Pythonpass是空语句,是为了保持程序结构的完整性。 pass不做任何事情,一般用做占位语句。 Python字符串类型访问字符串中的值 通过索引方式获取数据 切片方式访问数据 获取字符串的长度 循环打印数据 大家考虑这样问题,如果我们希望输出的结果放到一行?print函数有这种功能,那么如何使用呢?我们建议大家可以使用help命令 通过help(print)我们可以了解python当中一些非常重要的函数具体内容。 查找某个字符串 其他的字符串操作 字符串格式化