作者: 艾文,计算机硕士学位,企业内训讲师和金牌面试官,现就职BAT一线大厂公司资深算法专家。
内容:跟艾文学编程《零基础入门学Python》
学习目标
- Python 简介
- Python 常用的库
- Python 第一个程序
- Python 开发环境
- Jupyter-notebook 的介绍
- Python基础规则
- Python 数据类型
- Python中的标准操作符
- 循环与判断
- Python字符串类型
Python 简介
- 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
- 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。
- 1994年1月:Python 1.0正式发布。
- 2000年10月16日:Python 2.0发布,增加了实现完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
- 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。
目前我们使用的Python 3.7.x的版本是在2018年发布
全世界差不多有 600 多种编程语言,但流行的编程语言也就那么 20 来种。不知道你有没有听说过 TIOBE 排行榜。
这是 2019 年 5 月编程语言排行榜榜单:
Top 10 编程语言 TIOBE 指数走势
总的来说,这几种编程语言各有千秋,但不难看出,最近几年 Python 的发展非常的快,特别最近流行的机器学习,数据分析,更让 python 快速的发展起来。
Python 常用的库
- Numpy
NumPy(Numerical Python) 是 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.com/pycharm/download/
- 直接安装官网python(不推荐)
下载地址: https://www.python.org/
- 科学计算环境Anaconda(学习过程推荐使用)
下载地址: https://www.anaconda.com/distribution/#download-section
Mac 下安装: https://www.datacamp.com/community/tutorials/installing-anaconda-mac-os-x
Windows 下安装: https://www.datacamp.com/community/tutorials/installing-anaconda-windows
Jupyter-notebook 的介绍
参考操作手册《docs/Jupyter_Notebook_Cheat_Sheet.pdf》
Jupyter Notebook 是一种开发工具,可以通过图形化的界面分析数据。
Python基础规则
命名规范
- 模块
模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)
- 类名
类名使用驼峰(CamelCase)命名风格,首字母大写
- 函数
函数名一律小写,如有多个单词,用下划线隔开
- 变量名
变量名尽量小写, 如有多个单词,用下划线隔开
- 常量
常量采用全大写,如有多个单词,使用下划线隔开
注释规范
- 块注释
- 行注释
- 文档注释
""" 开头和结尾, 首行不换行, 如有多行, 末行必需换行, 以下是Google的docstring风格示例
- 对函数参数、返回值等的说明采用numpy标准
基本数据类
变量赋值
Python 中的变量赋值不需要类型声明
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
标准数据类型
在内存中存储的数据可以有多种类型。
Python有五个标准的数据类型:
Numbers(数字)
String(字符串)
List(列表)
Tuple(元组)
Dictionary(字典)
Python数字
数字数据类型用于存储数值。
不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象
Python支持四种不同的数字类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数) 长整型也可以使用小写 l,但是还是建议您使用大写 L,避免与数字 1 混淆。Python使用 L 来显示长整型。 Python 还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 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数据类型转换
对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
注:在 Python 3 里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
Python中的标准操作符
Python算术运算符
以下假设变量: a=10,b=20
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运算符优先级
以下表格列出了从最高到最低优先级的所有运算符
循环与判断
if Statements
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
可以通过下图来简单了解条件语句的执行过程: 语法格式:
for Statements
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
while 语句类似于for,迭代序列进行操作
The range() Function
如果你需要对序列类型的数据通过序列号进行迭代,可以通过range函数来处理
break and continue Statements
类似在C 语言中,break 语句多用在while和for 循环中
pass Statements
Python pass 是空语句,是为了保持程序结构的完整性。
pass 不做任何事情,一般用做占位语句。
Python字符串类型
访问字符串中的值
- 通过索引方式获取数据
- 切片方式访问数据
- 获取字符串的长度
- 循环打印数据
大家考虑这样问题,如果我们希望输出的结果放到一行?print 函数有这种功能,那么如何使用呢? 我们建议大家可以使用help 命令
通过help(print) 我们可以了解python 当中一些非常重要的函数具体内容。
- 查找某个字符串
- 其他的字符串操作
字符串格式化
一起加油学习,博主提供更多优质内容给大家,多谢关注支持。