Skip to content

Commit 3212782

Browse files
committedDec 22, 2018
更新了部分文档和代码
1 parent 2d08d42 commit 3212782

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1956
-874
lines changed
 

‎Day01-15/Day01/code/peppa_pig.py

+80-69
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,101 @@
1-
from turtle import*
1+
"""
2+
绘制小猪佩奇
3+
"""
4+
from turtle import *
25

36

4-
def nose(x,y):#鼻子
5-
penup()#提起笔
6-
goto(x,y)#定位
7-
pendown()#落笔,开始画
8-
setheading(-30)#将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
9-
begin_fill()#准备开始填充图形
10-
a=0.4
7+
def nose(x,y):
8+
"""画鼻子"""
9+
penup()
10+
# 将海龟移动到指定的坐标
11+
goto(x,y)
12+
pendown()
13+
# 设置海龟的方向(0-东、90-北、180-西、270-南)
14+
setheading(-30)
15+
begin_fill()
16+
a = 0.4
1117
for i in range(120):
12-
if 0<=i<30 or 60<=i<90:
13-
a=a+0.08
14-
left(3) #向左转3度
15-
forward(a) #向前走a的步长
18+
if 0 <= i < 30 or 60 <= i <90:
19+
a = a + 0.08
20+
# 向左转3度
21+
left(3)
22+
# 向前走
23+
forward(a)
1624
else:
17-
a=a-0.08
25+
a = a - 0.08
1826
left(3)
1927
forward(a)
20-
end_fill()#填充完成
21-
28+
end_fill()
2229
penup()
2330
setheading(90)
2431
forward(25)
2532
setheading(0)
2633
forward(10)
2734
pendown()
28-
pencolor(255,155,192)#画笔颜色
35+
# 设置画笔的颜色(红, 绿, 蓝)
36+
pencolor(255, 155, 192)
2937
setheading(10)
3038
begin_fill()
3139
circle(5)
32-
color(160,82,45)#返回或设置pencolor和fillcolor
40+
color(160, 82, 45)
3341
end_fill()
34-
3542
penup()
3643
setheading(0)
3744
forward(20)
3845
pendown()
39-
pencolor(255,155,192)
46+
pencolor(255, 155, 192)
4047
setheading(10)
4148
begin_fill()
4249
circle(5)
43-
color(160,82,45)
50+
color(160, 82, 45)
4451
end_fill()
4552

4653

47-
def head(x,y):#头
48-
color((255,155,192),"pink")
54+
def head(x, y):
55+
"""画头"""
56+
color((255, 155, 192), "pink")
4957
penup()
5058
goto(x,y)
5159
setheading(0)
5260
pendown()
5361
begin_fill()
5462
setheading(180)
55-
circle(300,-30)
56-
circle(100,-60)
57-
circle(80,-100)
58-
circle(150,-20)
59-
circle(60,-95)
63+
circle(300, -30)
64+
circle(100, -60)
65+
circle(80, -100)
66+
circle(150, -20)
67+
circle(60, -95)
6068
setheading(161)
61-
circle(-300,15)
69+
circle(-300, 15)
6270
penup()
63-
goto(-100,100)
71+
goto(-100, 100)
6472
pendown()
6573
setheading(-30)
66-
a=0.4
74+
a = 0.4
6775
for i in range(60):
68-
if 0<=i<30 or 60<=i<90:
69-
a=a+0.08
76+
if 0<= i < 30 or 60 <= i < 90:
77+
a = a + 0.08
7078
lt(3) #向左转3度
7179
fd(a) #向前走a的步长
7280
else:
73-
a=a-0.08
81+
a = a - 0.08
7482
lt(3)
7583
fd(a)
7684
end_fill()
7785

7886

79-
def ears(x,y): #耳朵
80-
color((255,155,192),"pink")
87+
def ears(x,y):
88+
"""画耳朵"""
89+
color((255, 155, 192), "pink")
8190
penup()
82-
goto(x,y)
91+
goto(x, y)
8392
pendown()
8493
begin_fill()
8594
setheading(100)
86-
circle(-50,50)
87-
circle(-10,120)
88-
circle(-50,54)
95+
circle(-50, 50)
96+
circle(-10, 120)
97+
circle(-50, 54)
8998
end_fill()
90-
9199
penup()
92100
setheading(90)
93101
forward(-12)
@@ -96,14 +104,15 @@ def ears(x,y): #耳朵
96104
pendown()
97105
begin_fill()
98106
setheading(100)
99-
circle(-50,50)
100-
circle(-10,120)
101-
circle(-50,56)
107+
circle(-50, 50)
108+
circle(-10, 120)
109+
circle(-50, 56)
102110
end_fill()
103111

104112

105-
def eyes(x,y):#眼睛
106-
color((255,155,192),"white")
113+
def eyes(x,y):
114+
"""画眼睛"""
115+
color((255, 155, 192), "white")
107116
penup()
108117
setheading(90)
109118
forward(-20)
@@ -113,7 +122,6 @@ def eyes(x,y):#眼睛
113122
begin_fill()
114123
circle(15)
115124
end_fill()
116-
117125
color("black")
118126
penup()
119127
setheading(90)
@@ -124,8 +132,7 @@ def eyes(x,y):#眼睛
124132
begin_fill()
125133
circle(3)
126134
end_fill()
127-
128-
color((255,155,192),"white")
135+
color((255, 155, 192), "white")
129136
penup()
130137
seth(90)
131138
forward(-25)
@@ -135,7 +142,6 @@ def eyes(x,y):#眼睛
135142
begin_fill()
136143
circle(15)
137144
end_fill()
138-
139145
color("black")
140146
penup()
141147
setheading(90)
@@ -148,8 +154,9 @@ def eyes(x,y):#眼睛
148154
end_fill()
149155

150156

151-
def cheek(x,y):#腮
152-
color((255,155,192))
157+
def cheek(x,y):
158+
"""画脸颊"""
159+
color((255, 155, 192))
153160
penup()
154161
goto(x,y)
155162
pendown()
@@ -159,35 +166,39 @@ def cheek(x,y):#腮
159166
end_fill()
160167

161168

162-
def mouth(x,y): #嘴
163-
color(239,69,19)
169+
def mouth(x,y):
170+
"""画嘴巴"""
171+
color(239, 69, 19)
164172
penup()
165-
goto(x,y)
173+
goto(x, y)
166174
pendown()
167175
setheading(-80)
168-
circle(30,40)
169-
circle(40,80)
176+
circle(30, 40)
177+
circle(40, 80)
170178

171179

172-
def setting(): #参数设置
180+
def setting():
181+
"""设置参数"""
173182
pensize(4)
174-
hideturtle() #使乌龟无形(隐藏)
175-
colormode(255) #将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内
176-
color((255,155,192),"pink")
177-
setup(840,500)
183+
# 隐藏海龟
184+
hideturtle()
185+
colormode(255)
186+
color((255, 155, 192), "pink")
187+
setup(840, 500)
178188
speed(10)
179189

180190

181191
def main():
182-
setting() #画布、画笔设置
183-
nose(-100,100) #鼻子
184-
head(-69,167) #头
185-
ears(0,160) #耳朵
186-
eyes(0,140) #眼睛
187-
cheek(80,10) #腮
188-
mouth(-20,30) #嘴
192+
"""主函数"""
193+
setting()
194+
nose(-100, 100)
195+
head(-69, 167)
196+
ears(0, 160)
197+
eyes(0, 140)
198+
cheek(80, 10)
199+
mouth(-20, 30)
189200
done()
190201

191202

192203
if __name__ == '__main__':
193-
main()
204+
main()

‎Day01-15/Day01/初识Python.md

+23-26
Original file line numberDiff line numberDiff line change
@@ -7,38 +7,38 @@
77
1. 1989年圣诞节:Guido von Rossum开始写Python语言的编译器。
88
2. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对“类”,“函数”,“异常处理”等构造块的支持,同时提供了“列表”和“字典”等核心数据类型,同时支持以模块为基础的拓展系统。
99
3. 1994年1月:Python 1.0正式发布。
10-
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的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
11-
5. 2008年12月3日:Python 3.0发布,此版不完全兼容之前的Python代码,不过很多新特性后来也被移植到旧的Python 2.6/2.7版本,因为目前还有公司在项目和运维中使用Python 2.x版本的代码
10+
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的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。
11+
5. 2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中
1212

13-
目前我们使用的Python 3.6.x的版本是在2016年的12月23日发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(如修复了某个Bug),只要有修改就增加C。如果对Python的历史感兴趣,可以查看一篇名为[《Python简史》](http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html)的博文。
13+
目前我们使用的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)的博文。
1414

1515
#### Python的优缺点
1616

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

1919
1. 简单和明确,做一件事只有一种方法。
20-
2. 学习曲线低,与其他很多语言比上手更容易
20+
2. 学习曲线低,跟其他很多语言相比,Python更容易上手
2121
3. 开放源代码,拥有强大的社区和生态圈。
22-
4. 解释型语言,完美的平台可移植性
23-
5. 支持两种主流的编程范式,可以使用面向对象和函数式编程
24-
6. 可扩展性和可嵌入性,可以调用C/C++代码也可以在C/C++中调用
22+
4. 解释型语言,天生具有平台可移植性
23+
5. 支持两种主流的编程范式(面向对象编程和函数式编程)都提供了支持
24+
6. 可扩展性和可嵌入性,可以调用C/C++代码,也可以在C/C++中调用Python
2525
7. 代码规范程度高,可读性强,适合有代码洁癖和强迫症的人群。
2626

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

29-
1. 执行效率低下,因此计算密集型任务可以由C/C++编写。
30-
2. 代码无法加密,但是现在的公司很多都不是卖软件而是卖服务,这个问题慢慢会淡化
31-
3. 在开发时可以选择的框架太多,有选择的地方就有错误。
29+
1. 执行效率稍低,因此计算密集型任务可以由C/C++编写。
30+
2. 代码无法加密,但是现在的公司很多都不是卖软件而是卖服务,这个问题会被淡化
31+
3. 在开发时可以选择的框架太多(如Web框架就有100多个),有选择的地方就有错误。
3232

3333
#### Python的应用领域
3434

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

3737
### 搭建编程环境
3838

3939
#### Windows环境
4040

41-
可以在[Python的官方网站](https://www.python.org)下载到Python的Windows安装程序(exe文件),需要注意的是如果在Windows 7环境下安装需要先安装Service Pack 1补丁包(可以通过一些工具软件自动安装系统补丁的功能来安装),安装过程建议勾选“Add Python 3.6 to PATH”(将Python 3.6添加到PATH环境变量)并选择自定义安装,在设置“Optional Features”界面最好将“pip”、“tcl/tk”、“Python test suite”等项全部勾选上。强烈建议使用自定义的安装路径并保证路径中没有中文。安装完成会看到“Setup was successful”的提示,但是在启动Python环境时可能会因为缺失一些动态链接库文件而导致Python解释器无法运行,常见的问题主要是api-ms-win-crt\*.dll缺失以及更新DirectX之后导致某些动态链接库文件缺失,前者可以参照[《api-ms-win-crt\*.dll缺失原因分析和解决方法》]()一文讲解的方法进行处理或者直接在[微软官网](https://www.microsoft.com/zh-cn/download/details.aspx?id=48145)下载Visual C++ Redistributable for Visual Studio 2015文件进行修复,后者可以下载一个DirectX修复工具进行修复。
41+
可以在[Python官方网站](https://www.python.org)下载到Python的Windows安装程序(exe文件),需要注意的是如果在Windows 7环境下安装需要先安装Service Pack 1补丁包(可以通过一些工具软件自动安装系统补丁的功能来安装),安装过程建议勾选“Add Python 3.6 to PATH”(将Python 3.6添加到PATH环境变量)并选择自定义安装,在设置“Optional Features”界面最好将“pip”、“tcl/tk”、“Python test suite”等项全部勾选上。强烈建议使用自定义的安装路径并保证路径中没有中文。安装完成会看到“Setup was successful”的提示,但是在启动Python环境时可能会因为缺失一些动态链接库文件而导致Python解释器无法运行,常见的问题主要是api-ms-win-crt\*.dll缺失以及更新DirectX之后导致某些动态链接库文件缺失,前者可以参照[《api-ms-win-crt\*.dll缺失原因分析和解决方法》]()一文讲解的方法进行处理或者直接在[微软官网](https://www.microsoft.com/zh-cn/download/details.aspx?id=48145)下载Visual C++ Redistributable for Visual Studio 2015文件进行修复,后者可以下载一个DirectX修复工具进行修复。
4242

4343
#### Linux环境
4444

@@ -53,15 +53,15 @@ yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlit
5353
下载Python源代码并解压缩到指定目录。
5454

5555
```Shell
56-
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
57-
xz -d Python-3.7.0.tar.xz
58-
tar -xvf Python-3.7.0.tar
56+
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.1.tar.xz
57+
xz -d Python-3.7.1.tar.xz
58+
tar -xvf Python-3.7.1.tar
5959
```
6060

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

6363
```Shell
64-
cd Python-3.7.0
64+
cd Python-3.7.1
6565
./configure --prefix=/usr/local/python37 --enable-optimizations
6666
make && make install
6767
```
@@ -87,7 +87,7 @@ source .bash_profile
8787

8888
#### MacOS环境
8989

90-
MacOS也是自带了Python 2.x版本的,可以通过[Python的官方网站](https://www.python.org)提供的安装文件(pkg文件)安装3.x的版本。默认安装完成后,可以通过在终端执行python命令来启动2.x版本的Python解释器,可以通过执行python3命令来启动3.x版本的Python解释器,当然也可以通过重新设置软链接来修改启动Python解释器的命令
90+
MacOS也是自带了Python 2.x版本的,可以通过[Python的官方网站](https://www.python.org)提供的安装文件(pkg文件)安装3.x的版本。默认安装完成后,可以通过在终端执行python命令来启动2.x版本的Python解释器,可以通过执行python3命令来启动3.x版本的Python解释器。
9191

9292
### 从终端运行Python程序
9393

@@ -137,7 +137,6 @@ python hello.py
137137
138138
Version: 0.1
139139
Author: 骆昊
140-
Date: 2018-02-26
141140
"""
142141

143142
print('hello, world!')
@@ -179,8 +178,6 @@ python -m pip install ipython jupyter
179178
jupyter notebook
180179
```
181180

182-
![](./res/python-jupyter-1.png)
183-
184181
![](./res/python-jupyter-2.png)
185182

186183
#### Sublime - 文本编辑神器
@@ -203,13 +200,13 @@ jupyter notebook
203200
import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
204201
```
205202

206-
- 安装插件。通过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就可以找到安装插件的工具,然后再查找需要的插件。我们推荐大家安装以下几个插件
203+
- 安装插件。通过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就可以找到安装插件的工具,然后再查找需要的插件。我们推荐大家安装以下几个插件
207204

208-
- SublimeCodeIntel - 代码自动补全工具插件
209-
- Emmet - 前端开发代码模板插件
210-
- Git - 版本控制工具插件
211-
- Python PEP8 Autoformat - PEP8规范自动格式化插件
212-
- ConvertToUTF8 - 将本地编码转换为UTF-8
205+
- SublimeCodeIntel - 代码自动补全工具插件
206+
- Emmet - 前端开发代码模板插件
207+
- Git - 版本控制工具插件
208+
- Python PEP8 Autoformat - PEP8规范自动格式化插件
209+
- ConvertToUTF8 - 将本地编码转换为UTF-8
213210

214211
#### PyCharm - Python开发神器
215212

0 commit comments

Comments
 (0)
Please sign in to comment.