跟艾文学编程《零基础入门学Python》(1)Python 基础入门

时间:2021-02-22 00:59:17



作者: 艾文,计算机硕士学位,企业内训讲师和金牌面试官,现就职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 月编程语言排行榜榜单:

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Top 10 编程语言 TIOBE 指数走势

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

总的来说,这几种编程语言各有千秋,但不难看出,最近几年 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》(1)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》

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Jupyter Notebook 是一种开发工具,可以通过图形化的界面分析数据。

Python基础规则

命名规范

  • 模块

模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 类名

类名使用驼峰(CamelCase)命名风格,首字母大写

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 函数

函数名一律小写,如有多个单词,用下划线隔开

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 变量名

变量名尽量小写, 如有多个单词,用下划线隔开

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 常量

常量采用全大写,如有多个单词,使用下划线隔开

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

注释规范

  • 块注释

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 行注释

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 文档注释

""" 开头和结尾, 首行不换行, 如有多行, 末行必需换行, 以下是Google的docstring风格示例

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 对函数参数、返回值等的说明采用numpy标准

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

基本数据类

变量赋值

Python 中的变量赋值不需要类型声明

每个变量在内存中创建,都包括变量的标识,名称和数据这些信息

每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

标准数据类型

在内存中存储的数据可以有多种类型。

Python有五个标准的数据类型:

Numbers(数字)

String(字符串)

List(列表)

Tuple(元组)

Dictionary(字典)

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

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》(1)Python 基础入门

python列表

List(列表) 是 Python 中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。

列表用 [ ] 标识,是 python 最通用的复合数据类型。

列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python 元组

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python 字典

字典(dictionary)列表是有序的对象集合,字典是无序的对象集合。

两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python数据类型转换

对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

注:在 Python 3 里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python中的标准操作符

Python算术运算符

以下假设变量: a=10,b=20

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python比较运算符

以下假设变量a为10,变量b为20

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python赋值运算符

以下假设变量a为10,变量b为20

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

下表中变量 a 为 60,b 为 13,二进制格式如下

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python身份运算符

身份运算符用于比较两个对象的存储单元

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

循环与判断

if Statements

Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

可以通过下图来简单了解条件语句的执行过程: 语法格式:

if 判断条件1:
执行语句1……
elif 判断条件2:
执行语句2……
elif 判断条件3:
执行语句3……
else:
执行语句4……

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

for Statements

Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

语法:

for循环的语法格式如下:
for iterating_var in sequence:
statements(s)

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

while 语句类似于for,迭代序列进行操作

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

The range() Function

如果你需要对序列类型的数据通过序列号进行迭代,可以通过range函数来处理

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

break and continue Statements

类似在C 语言中,break 语句多用在while和for 循环中

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

pass Statements

Python pass 是空语句,是为了保持程序结构的完整性。

pass 不做任何事情,一般用做占位语句。

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

Python字符串类型

访问字符串中的值

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 通过索引方式获取数据

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 切片方式访问数据

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 获取字符串的长度

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 循环打印数据

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

大家考虑这样问题,如果我们希望输出的结果放到一行?print 函数有这种功能,那么如何使用呢? 我们建议大家可以使用help 命令

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

通过help(print) 我们可以了解python 当中一些非常重要的函数具体内容。

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 查找某个字符串

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

  • 其他的字符串操作

跟艾文学编程《零基础入门学Python》(1)Python 基础入门

字符串格式化

跟艾文学编程《零基础入门学Python》(1)Python 基础入门




一起加油学习,博主提供更多优质内容给大家,多谢关注支持。