Python分享-1-初识Python

Python分享第一节

最近受邀给团队中的小伙伴们分享Python知识,初步打算分成6节课教大家基础语法,然后再往数据分析方向拓展,本篇文章是第一节课的基本内容。

一、课前准备

  1. 笔记本电脑
  2. Anaconda安装包

二、课堂主题

第一课主要帮助零基础的同学了解Python以及帮助大家安装好Python的工作环境,同时普及一些基本的计算机知识,从而让大家可以更快的开始Python语法的学习。

三、本节目标

1、Python简介

2、为什么要学习Python

3、Python的安装与jupyter notebook的安装与使用

4、如何书写Markdown

5、解决问题的通用方法&书籍推荐

四、知识要点

4.1、Python简介

4.1.1、什么是Python语言

在学习Python之前,先向大家普及一些基本的计算机知识。

用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个文件,编写一个文档等等,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。

相信大家在大学中都学过C语言,C语言的基本设计原则是让机器能够更快的运行,在那个年代,个人电脑的配置普遍都很低,所以更需要C这种更贴近于底层的语言,所以C语言的编写过程需要耗费大量的时间,即使他已经准确的知道功能应该如何实现,也因此,大家把C语言叫做面向过程的编程语言。

Python也是编程语言的一种,而且是一门高级编程语言,Python语法简单且功能强大,不仅适合初学者,也适合专业人员使用。

对于不同的编程语言来说,干同一个活,编写的代码量,差距也很大。

通常情况下,在完成同一种功能时,越高级的语言所需要的代码越少。可能完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。 但是代码少的代价是运行速度慢,C程序运行1秒钟,Java程序可能需要2秒,而Python程序可能就需要10秒。

4.1.2、Python语言的优点

1、语法简单:Python是一种代表简单主义思想的语言,也是一种高级语言,不用考虑底层细节

2、易学:这点其实前面已经提到,python非常容易上手,类比于C语言来说有着极其简单的语法

3、免费、开源:Python是开放源代码的,你可以自由发布这个软件的拷贝、阅读源码、在它的基础上做改动

4、可移植性:由于Python开源的本质,它的代码不用修改就可以在多平台上运行

5、丰富的库:Python有众多的标准库与第三方库,它可以帮你处理各种各样的工作。

4.1.3、Python可以干什么

1、web开发:做服务器端编程,Python在这方面有非常常熟的web开发框架,如 Django和Flask。国内外有很多知名的网站都是使用Python进行开发,比如:豆瓣 、NASA、YouTube、 Quora等等

1577154510758.png

2、系统网络运维、软件测试:在运维工作中,有大量的重复性工作,并需要管理、监控、发布系统等,可以使用Python将工作自动化,提高工作效率。

1577154561956.png

1577154641884.png

3、爬虫百度蜘蛛:在爬虫领域,Python的地位无人撼动,将网络一切数据作为资源,通过自动化程序进行针对性的数据采集和处理。

1577154701107.png

4、数据分析:Python被广泛的应用到科学与数据分析中,比如图像可视化、数值计算等等,常用的包有Numpy、Pandas等

1577154956814.png

5、人工智能&机器学习:因为google等公司早期大量使用Python,为Python积累了丰富的科学运算库,所以当AI时代来临后,Python从众多编程语言中脱颖而出,现在各种人工只能算法都基于Python编写,Python作为AI时代头牌编程语言的位置基本确定

1577155025423.png

4.2、为什么要学习Python

上段时间有个新闻比较火:

1577169441328.png
1577169497916.png

潘总是做房地产的,尤其是商业地产,收集/分析/预测市场数据/竞争对手数据太重要了,所以我猜测潘总是用Python做爬虫+数据分析+AI预测,这样SOHO中国就变成了地产科技公司,一下子和其他地产公司拉开了档次,不仅可以吸( hū )引( yōu )投资人,公司估值也会上一个台阶😎。

回归正题,通过上面的了解其实大家也大体能够明白学习Python的好处。

从普通工作的角度上来说,Python可以实现一些办公自动化操作(自动处理Excel、自动收发邮件、批量给图片加水印等等)。

用 Python 自动化办公能做到哪些有趣或有用的事情?

对于数据分析师的岗位而言,Python是一个功能强大的工具,可以快速的处理数据并进行可视化。

零基础学习Python数据分析

展望未来,人工智能正在迅速改变我们周围的一切,而Python提供了很多开箱即用的算法,让普通人也可以通过简单的学习做出一些人工智能的小应用

有没有简单一点的 Python 小例子或小项目?

最后,伟大的哲学家鲁迅说过:

1577109404723.png

4.3、Jupyter Notebook入门

Jupyter Notebook 是一个在浏览器中使用的交互式的笔记本,可以实现将代码、文字完美结合起来,它的受众群体大多数是一些从事数据科学领域相关(机器学习、数据分析等)的人员。这里会告诉大家Jupyter Notebook入门时常用功能用法。

1)新建Notebook

打开的界面主要包含了以上的几个菜单,我们点击New-Python3来创建一个Python3的.ipynb文件。

每一个Notebook主要包含三个区域:文件名菜单栏(工具栏)、内容编辑1577153207427.png

2)修改文件名

直接点击文件名,可以重命名当前Notebook的文件名,这里修改为“demo”。

3)熟悉菜单栏

这里介绍下常用的几个菜单栏的作用。

File

File 菜单中主要包含了以下功能:创建新的Notebook、打开新的界面、拷贝当前Notebook、重命名Notebook、保存还原点、恢复到指定还原点、查看Notebook预览、下载Notebook、关闭Notebook。

这里重点强调下下载Notebook选项,它可以将当前Notebook转为py文件、html文件、markdown文件、rest文件、latex文件、pdf文件。

1577153254992.png

Insert

Insert 菜单中包含了在当前位置之下插入一个新的cell(单元格)、在当前位置之上插入一个新的cell(单元格)。

1577153283482.png

Cell

Cell 菜单主要包含了运行cells、运行cells后并在之后插入新的cell、运行所有cells、运行当前之上的所有cell、运行当前之下的所有cell、改变cell类型(codemarkdown、raw nbconvert)等。

1577153334130.png

Kernel

Kernel 菜单主要包含了中断kernel、重启kernel、重启kernel并清除输出、重启kernel并运行所有cell、重连kernel、关闭kernel、改变kernel类型。

1577153356024.png

Help

Help 菜单主要包含了用户交互引导、键盘快捷键、修改键盘快捷键、Notebook帮助、Markdown帮助、Jupyter-notebook-extensions帮助、Python帮助、IPython帮助、Numpy帮助、Scipy帮助、Matplotlib帮助、Sympy帮助、pandas帮助等。

1577153384863.png

如果能记住一些常用的快捷键,对使用Jupyter Notebook帮助还是很大的。

1577155989202.png

4)熟悉工具栏

工具栏上的内容都在下图中:

依次来介绍下,保存还原点、在当前位置之下添加cell、剪切当前cell、拷贝选择的cell、复制选择的cell、上移选中的cell、下移选中的cell、运行cell、中断kernel、重启kernel、修改cell类型、打开命令行调色板、美化cell代码。

很明显,工具栏中的功能大多都是菜单栏中的一部分功能的体现,主要是为了方便寻找。

5)运行Python代码

想要运行Python代码,其实很简单,因为Python代码最后都在 Cell 中编写的。首先在cell中编写好Python代码,然后点击运行,可以直接在下面看到结果。

1577153518545.png

仔细一点,我们可以发现,第一个cell前面有 “In [1]:”提示符,第二个cell前面有“In[2]:”提示符,同时也有“Out[2]:”输出符,这是因为如果没有print语句的话,Notebook会将当前cell的最后一条语句的结果以“Out[?]:”的方式输出。

6)编写Markdown

Notebook最友好的一个功能就是可以在cell中通过Markdown来编写文本。我们首先创建一个cell,然后更改类型为markdown,更改成功后,cell开头没有“In[?]:”的提示符。然后点击cell,按照markdown语法来输入文本。

除了对markdown语法的支持外,同时也支持html代码,此外,也支持latex公式语法。

使用latex公式时,如果需要在当前行内插入公式,公式前后分别需要一个$,如果需要在下一行单独插入公式,公式前后分别需要两个$

4.4、Markdown的书写方法

4.4.1、Markdown简介

上面提到了Markdown,在这里稍微介绍一下。

  • Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档。
  • Markdown 编写的文档可以导出 HTML 、Word、图像、PDF、Epub 等多种格式的文档。
  • Markdown 编写的文档后缀为 .md, .markdown

Markdown 能被使用来撰写电子书,如:Gitbook。

当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书等。很多在线文档编辑软件(腾讯文档、石墨文档、阿里开源的雨雀等等)也都对Markdown有着很好的支持。很多互联网公司也慢慢开始直接使用Markdown来撰写需求文档与演示文稿,大部分程序员都使用Markdown进行文章、博客的写作。大家现在看到的pdf也是我使用Markdown写的。

优点:
1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。
2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可

缺点:
1、需要记一些语法(当然,是很简单。五分钟学会)。
2、有些平台不支持Markdown编辑模式。

4.4.2、Markdown语法

标题

在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。

注:标准语法一般在#后跟个空格再写文字。

# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题

效果如下:

1577158953996.png

字体
  • 加粗

要加粗的文字左右分别用两个*号包起来

  • 斜体

要倾斜的文字左右分别用一个*号包起来

  • 斜体加粗

要倾斜和加粗的文字左右分别用三个*号包起来

  • 删除线

要加删除线的文字左右分别用两个~~号包起来

**这是加粗的文字**
*这是倾斜的文字*`
***这是斜体加粗的文字***
~~这是加删除线的文字~~

效果如下:

1577159140514.png

引用

在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>

> 这里是引用内容
>> 这里是引用内容

效果如下:

1577159370249.png

图片
![图片名称](图片地址 ''图片title'')

图片名称就是显示在图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加可不加

效果如下:

1576203195960bcae2e5cd2fbba0d11e974dd0e8d3.jpg

超链接
[超链接名](超链接地址 "超链接title")
title可加可不加

效果如下:

Markdown 教程

列表

1、无序列表

- 列表内容
+ 列表内容
* 列表内容

注意:- + * 跟内容之间都要有一个空格

效果如下:

  • 列表

2、有序列表

1.列表内容
2.列表内容
3.列表内容

注意:序号跟内容之间要有空格

效果如下:

  1. 有序列表
  2. 有序列表
表格
|表头|表头|表头|
|---|:--:|---:|
|内容|内容|内容|
|内容|内容|内容|

第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
- 两边加 :表示文字居中
- 右边加 :表示文字居右

效果如下:

表头 表头 表头
内容 内容 内容
内容 内容 内容
代码
​```
  代码...
  代码...
  代码...
​```

效果如下:

select * from dual
Markdown写作工具推荐

一个所见即所得的免费Markdown写作神器:Typora

4.5、解决问题的通用方法&书籍推荐

4.5.1、“面向搜索引擎编程“

大家在开始尝试写代码的时候总会遇到各种各样的问题,其中一部分包含程序的错误,对于这方面问题,我更倾向于通过搜索引擎找到答案。Python生态环境十分良好,初学者遇到的99.9%的问题在网上都有现成的解决办法。如果是思路上的问题同样可以通过网络进行查找,也可以寻求他人的帮助。

另外,在我们的学习过程中,刚开始我们知道怎么用就行了,理解原理固然更好,但千万不要钻牛角尖。对数据分析岗位来说,主要是要能了解工具的具体功能,当有需求、有想法时可以知道使用哪种工具可以更好更快的实现。

最后,如果在工作中,上网复制一段代码,理解后为我所用,这个是可以的,毕竟我们要保证生产力。但我们在刚开始学习的过程中,尽量不要去复制代码,学习编程最大的技巧就是多敲代码,敲的这个过程中,会出错,出错了就会去调试,调试的过程中会去思考,在调试和思考的过程中就是在不知不觉的进步。

4.5.2、书籍推荐

网络上Python的教学课程、书籍、公众号众多,大家可以自行寻找,这里只推荐两本书籍,如果有需要其他的学习资料,也可以直接找我要。

入门书籍:简明Python教程

数据分析书籍:利用Python进行数据分析


文章作者: Yuhao Wang
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Yuhao Wang !
  目录