Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
daccf3f
更新了部分文档
jackfrued Dec 30, 2019
d77e71c
更新了部分文档
jackfrued Jan 2, 2020
b707912
更新了QQ群信息
jackfrued Jan 27, 2020
cd767cf
更新了QQ群信息
jackfrued Jan 27, 2020
63c17a0
更新了QQ群信息
jackfrued Jan 27, 2020
fe5ad86
更新了部分文档和说明
jackfrued Feb 24, 2020
406eed0
优化了图片和文档
jackfrued Feb 29, 2020
f62d51d
优化了图片和文档
jackfrued Mar 1, 2020
45a8b23
更新了Docker和项目部署文档
jackfrued Mar 5, 2020
b773c05
更新了部分文档
jackfrued Mar 9, 2020
3351f01
更新了Python语言进阶部分的内容
jackfrued Mar 15, 2020
dbe5479
更新了前15天和最后10天的内容
jackfrued Apr 1, 2020
05998c8
更新了日志
jackfrued Apr 8, 2020
a9ded25
更新了部分文档和图片资源
jackfrued Apr 26, 2020
3ef3721
更正了第19课文档
jackfrued Apr 26, 2020
60587f0
更新了部分文档和代码
jackfrued Jun 24, 2020
0460425
更新了部分文档
jackfrued Jun 26, 2020
2747427
更新了部分文档
jackfrued Jun 29, 2020
4bec755
更新了部分文档
jackfrued Jun 29, 2020
5e2fda2
更新了部分文档
jackfrued Jun 30, 2020
9624959
更新了部分文档
jackfrued Jul 12, 2020
5d55234
更新了Django部分的文档
jackfrued Jul 13, 2020
cdb7fdd
更新了Django部分的文档
jackfrued Jul 15, 2020
ab45ce5
修改了部分文档
jackfrued Jul 20, 2020
5f9b9a5
更新了部分文档
jackfrued Sep 23, 2020
2847d4f
更新了文档目录结构
jackfrued Oct 3, 2020
8a7710b
调整了目录结构,修订了部分文档
jackfrued Oct 3, 2020
6387ccb
更新了部分文档
jackfrued Oct 4, 2020
e021811
更新了Django部分的文档
jackfrued Oct 11, 2020
395d37d
更新了部分文档
jackfrued Oct 19, 2020
588bfda
更新了第52天文档
jackfrued Oct 19, 2020
913dd1c
优化了项目的图片资源
jackfrued Oct 19, 2020
d1f0857
开始更新数据分析部分内容
jackfrued Nov 30, 2020
a4355b8
更新了数据分析相关章节内容
jackfrued Dec 13, 2020
b53d58f
更正了文档中的数学公式
jackfrued Dec 17, 2020
851b16d
更正了文档中的数学公式
jackfrued Dec 17, 2020
86679bb
更正了文档中的数学公式
jackfrued Dec 17, 2020
329dbeb
更正了文档中的数学公式
jackfrued Dec 17, 2020
bdd01d5
更新了数据分析部分的文档
jackfrued Dec 20, 2020
b98c44e
更新了数据分析部分的文档
jackfrued Dec 20, 2020
e802da9
更新了数据分析部分的文档
jackfrued Dec 20, 2020
c057117
更新了数据分析部分的文档
jackfrued Dec 20, 2020
6c24ead
更新了数据分析部分的文档
jackfrued Dec 20, 2020
aa64dfc
更新了数据分析部分的文档
jackfrued Dec 20, 2020
ed49ed9
更新了数据分析部分的文档
jackfrued Dec 20, 2020
84fe683
更新了数据分析部分的文档
jackfrued Dec 20, 2020
8c4e7d2
更新了数据分析部分的文档
jackfrued Dec 20, 2020
e6934a5
更新了数据分析部分的文档
jackfrued Dec 21, 2020
abd4084
更新了数据分析部分的文档
jackfrued Dec 21, 2020
3aa9f2f
更新了数据分析部分的文档
jackfrued Dec 21, 2020
e34311d
更新了公开课相关资源
jackfrued Dec 21, 2020
5ce64ba
更新了公开课相关资源
jackfrued Dec 21, 2020
a7b48eb
更新了数据分析部分的文档和代码
jackfrued Dec 23, 2020
0d01379
更新了数据分析部分的内容
jackfrued Dec 24, 2020
4e091d9
更新了部分文档
jackfrued Mar 7, 2021
6a639f0
更新了第93天的文档
jackfrued Mar 13, 2021
7efa67b
更新了数据库部分的文档和代码
jackfrued Mar 28, 2021
6632c37
更新了部分文档
jackfrued Apr 5, 2021
5f1641c
更新了部分文档
jackfrued Apr 28, 2021
d2c6ce9
更新了第67天和第68天文档
jackfrued Apr 30, 2021
b67ed79
修改了部分文档
jackfrued May 12, 2021
1ef5bf0
更新了部分文档
jackfrued Jun 20, 2021
6f4066d
更新了部分文档
jackfrued Sep 9, 2021
2abc61c
调整目录结构+更新文档
jackfrued Oct 7, 2021
2d5c4b5
更新README.md文件
jackfrued Oct 7, 2021
08bc838
更新了数据分析部分的文档
jackfrued Nov 6, 2021
a448570
更新了部分文档
jackfrued Nov 20, 2021
311f12c
更新了部分文档
jackfrued Nov 20, 2021
9ab84aa
更正了网友们指出的错误
jackfrued Nov 20, 2021
c1af931
更新了数据库部分的文档
jackfrued May 21, 2021
5d843e0
更新了数据库部分的文档和日志
jackfrued Nov 21, 2021
24eb8e2
更新了部分文档
jackfrued Dec 7, 2021
e13f27b
新增了数据分析后续文档
jackfrued Dec 8, 2021
a259a6a
更新了日志
jackfrued Jan 11, 2022
b2d309c
更新了爬虫和数据分析部分的文档
jackfrued Mar 10, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
51 changes: 22 additions & 29 deletions Day01-15/01.初识Python.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,31 @@
4. 2000年10月16日:Python 2.0发布,增加了完整的[垃圾回收](https://zh.wikipedia.org/wiki/%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8)),提供了对[Unicode](https://zh.wikipedia.org/wiki/Unicode)的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
5. 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。

目前我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为[《Python简史》](http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html)的博文
目前我使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以阅读名为[《Python简史》](http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html)的网络文章

#### Python的优缺点

Python的优点很多,简单的可以总结为以下几点。

1. 简单和明确,做一件事只有一种方法。
2. 学习曲线低,跟其他很多语言相比,Python更容易上手。
3. 开放源代码,拥有强大的社区和生态圈。
4. 解释型语言,天生具有平台可移植性。
5. 对两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
6. 可扩展性和可嵌入性,例如在Python中可以调用C/C++代码。
7. 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。
1. 简单明了,学习曲线低,比很多编程语言都容易上手。
2. 开放源代码,拥有强大的社区和生态圈,尤其是在数据分析和机器学习领域。
3. 解释型语言,天生具有平台可移植性,代码可以工作于不同的操作系统。
4. 对两种主流的编程范式(面向对象编程和函数式编程)都提供了支持。
5. 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。

Python的缺点主要集中在以下几点。

1. 执行效率稍低,因此计算密集型任务可以由C/C++编写。
1. 执行效率稍低,对执行效率要求高的部分可以由其他语言(如:C、C++)编写。
2. 代码无法加密,但是现在很多公司都不销售卖软件而是销售服务,这个问题会被弱化。
3. 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。

#### Python的应用领域

目前Python在Web应用开发、云基础设施、DevOps、网络数据采集(爬虫)、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、自然语言处理、图像识别等一系列相关的职位
目前Python在Web应用后端开发、云基础设施建设、DevOps、网络数据采集(爬虫)、自动化测试、数据分析、机器学习等领域都有着广泛的应用

### 安装Python解释器

想要开始Python编程之旅,首先得在自己使用的计算机上安装Python解释器环境,下面将以安装官方的Python解释器为例,讲解如何在不同的操作系统上安装Python环境。官方的Python解释器是用C语言实现的,也是使用最为广泛的Python解释器,通常称之为CPython。除此之外,Python解释器还有Java语言实现的Jython、C#语言实现的IronPython以及PyPy、Brython、Pyston等版本,我们暂时不对这些内容进行介绍,有兴趣的读者可以自行了解。
想要开始Python编程之旅,首先得在自己使用的计算机上安装Python解释器环境,下面将以安装官方的Python解释器为例,讲解如何在不同的操作系统上安装Python环境。官方的Python解释器是用C语言实现的,也是使用最为广泛的Python解释器,通常称之为CPython。除此之外,Python解释器还有Java语言实现的Jython、C#语言实现的IronPython以及PyPy、Brython、Pyston等版本,有兴趣的读者可以自行了解。

#### Windows环境

Expand All @@ -57,15 +55,15 @@ yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlit
2. 下载Python源代码并解压缩到指定目录。

```Shell
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
xz -d Python-3.7.3.tar.xz
tar -xvf Python-3.7.3.tar
wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tar.xz
xz -d Python-3.7.6.tar.xz
tar -xvf Python-3.7.6.tar
```

3. 切换至Python源代码目录并执行下面的命令进行配置和安装。

```Shell
cd Python-3.7.3
cd Python-3.7.6
./configure --prefix=/usr/local/python37 --enable-optimizations
make && make install
```
Expand Down Expand Up @@ -104,13 +102,13 @@ macOS也自带了Python 2.x版本,可以通过[Python的官方网站](https://
```Shell
python --version
```
或者是在Linux或macOS系统的终端中键入下面的命令
在Linux或macOS系统的终端中键入下面的命令

```Shell
python3 --version
```

当然也可以先输入python或python3进入交互式环境,再执行以下的代码检查Python的版本。
当然也可以先输入`python`或`python3`进入交互式环境,再执行以下的代码检查Python的版本。

```Python
import sys
Expand Down Expand Up @@ -156,12 +154,8 @@ python3 hello.py
Version: 0.1
Author: 骆昊
"""

print('hello, world!')
# print("你好,世界!")
print('你好', '世界')
print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')
# print("你好, 世界!")
```

### Python开发工具
Expand All @@ -174,7 +168,7 @@ IDLE是安装Python环境时自带的集成开发工具,如下图所示。但

#### IPython - 更好的交互式编程工具

IPython是一种基于Python的交互式解释器。相较于原生的Python交互式环境,IPython提供了更为强大的编辑和交互功能。可以通过Python的包管理工具pip安装IPython和Jupyter,具体的操作如下所示。
IPython是一种基于Python的交互式解释器。相较于原生的Python交互式环境,IPython提供了更为强大的编辑和交互功能。可以通过Python的包管理工具pip安装IPython,具体的操作如下所示。

```Shell
pip install ipython
Expand Down Expand Up @@ -220,11 +214,11 @@ pip3 install ipython
- Python PEP8 Autoformat - PEP8规范自动格式化插件。
- ConvertToUTF8 - 将本地编码转换为UTF-8。

> 说明:事实上[Visual Studio Code](<https://code.visualstudio.com/>)可能是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者可以自行研究。
> **说明**:事实上[Visual Studio Code](<https://code.visualstudio.com/>)可能是更好的选择,它不用花钱并提供了更为完整和强大的功能,有兴趣的读者可以自行研究。

#### PyCharm - Python开发神器

PyCharm的安装、配置和使用在[《玩转PyCharm》](../玩转PyCharm.md)进行了介绍,有兴趣的读者可以选择阅读。
PyCharm的安装、配置和使用在[《玩转PyCharm》](../番外篇/玩转PyCharm.md)进行了介绍,有兴趣的读者可以选择阅读。

![](./res/python-pycharm.png)

Expand All @@ -236,12 +230,11 @@ PyCharm的安装、配置和使用在[《玩转PyCharm》](../玩转PyCharm.md)
import this
```

> 说明:输入上面的代码,在Python的交互式环境中可以看到Tim Peter撰写的[“Python之禅”](../Python之禅.md),里面讲述的道理不仅仅适用于Python,也适用于其他编程语言。
>
> **说明**:输入上面的代码,在Python的交互式环境中可以看到Tim Peter撰写的[“Python之禅”](../Python之禅.md),里面讲述的道理不仅仅适用于Python,也适用于其他编程语言。

2. 学习使用turtle在屏幕上绘制图形。

> 说明:turtle是Python内置的一个非常有趣的模块,特别适合对计算机程序设计进行初体验的小伙伴,它最早是Logo语言的一部分,Logo语言是Wally Feurzig和Seymour Papert在1966发明的编程语言。
> **说明**:turtle是Python内置的一个非常有趣的模块,特别适合对计算机程序设计进行初体验的小伙伴,它最早是Logo语言的一部分,Logo语言是Wally Feurzig和Seymour Papert在1966发明的编程语言。

```Python
import turtle
Expand All @@ -260,4 +253,4 @@ PyCharm的安装、配置和使用在[《玩转PyCharm》](../玩转PyCharm.md)
turtle.mainloop()
```

> 提示:本章提供的代码中还有画国旗和画小猪佩奇的代码,有兴趣的读者请自行研究。
> **提示**:本章提供的代码中还有画国旗和画小猪佩奇的代码,有兴趣的读者请自行研究。
Loading