更新了部分文档

pull/357/head
jackfrued 2019-09-15 00:38:27 +08:00
parent 916b47f9ce
commit 9fdd935b03
4 changed files with 35 additions and 21 deletions

View File

@ -5,7 +5,7 @@
#### Python的历史
1. 1989年圣诞节Guido von Rossum开始写Python语言的编译器。
2. 1991年2月第一个Python编译器同时也是解释器诞生它是用C语言实现的后面又出现了Java和C#实现的版本Jython和IronPython除此之外还有PyPy、Brython、Pyston等其他实现可以调用C语言的库函数。在最早的版本中Python已经提供了对“类”“函数”“异常处理”等构造块的支持还有对列表、字典等核心数据类型同时支持以模块为基础来构造应用程序。
2. 1991年2月第一个Python编译器同时也是解释器诞生它是用C语言实现的后面可以调用C语言的库函数。在最早的版本中Python已经提供了对“类”“函数”“异常处理”等构造块的支持还有对列表、字典等核心数据类型同时支持以模块为基础来构造应用程序。
3. 1994年1月Python 1.0正式发布。
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版本中。
@ -34,7 +34,9 @@ Python的缺点主要集中在以下几点。
目前Python在Web应用开发、云基础设施、DevOps、网络数据采集爬虫、数据分析挖掘、机器学习等领域都有着广泛的应用因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、自然语言处理、图像识别等一系列相关的职位。
### 搭建编程环境
### 安装Python解释器
想要开始Python编程之旅首先得在自己使用的计算机上安装Python解释器环境下面将以安装官方的Python解释器为例讲解如何在不同的操作系统上安装Python环境。官方的Python解释器是用C语言实现的也是使用最为广泛的Python解释器通常称之为CPython。除此之外Python解释器还有Java语言实现的Jython、C#语言实现的IronPython以及PyPy、Brython、Pyston等版本我们暂时不对这些内容进行介绍有兴趣的读者可以自行了解。
#### Windows环境
@ -93,7 +95,7 @@ source .bash_profile
macOS也自带了Python 2.x版本可以通过[Python的官方网站](https://www.python.org)提供的安装文件pkg文件安装Python 3.x的版本。默认安装完成后可以通过在终端执行`python`命令来启动2.x版本的Python解释器启动3.x版本的Python解释器需要执行`python3`命令。
### 从终端运行Python程序
### 运行Python程序
#### 确认Python的版本
@ -139,7 +141,7 @@ python hello.py
python3 hello.py
```
### 代码中的注释
#### 代码中的注释
注释是编程语言的一个重要组成部分,用于在源代码中解释代码的作用从而增强程序的可读性和可维护性,当然也可以将源代码中不需要参与运行的代码段通过注释来去掉,这一点在调试程序的时候经常用到。注释在随源代码进入预处理器或编译时会被移除,不会在目标代码中保留也不会影响程序的执行结果。
@ -162,7 +164,7 @@ print('hello', 'world', sep=', ', end='!')
print('goodbye, world', end='!\n')
```
### 其他工具介绍
### Python开发工具
#### IDLE - 自带的集成开发工具
@ -230,18 +232,18 @@ PyCharm的安装、配置和使用在[《玩转PyCharm》](../玩转PyCharm.md)
### 练习
1. 在Python交互环境中查看下面的代码结果,并试着将这些内容翻译成中文。
1. 在Python交互式环境中输入下面的代码并查看结果,请尝试将看到的内容翻译成中文。
```Python
import this
```
> 说明:当前键入上面的命令后会在交互式环境中看到如下所示的输出这段内容被称为“Python之禅”里面讲述的道理不仅仅适用于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

View File

@ -96,6 +96,8 @@ print(type(d))
print(type(e))
```
> 说明上面的代码中用到了Python中的内置函数如果暂时不理解函数这个概念也不要紧我们会在后续的内容中专门讲解Python中函数的使用。
在对变量类型进行转换时可以使用Python的内置函数。
- `int()`:将一个数值或字符串转换成整数,可以指定进制。

View File

@ -138,9 +138,9 @@ print(result)
"""
百分制成绩转等级制成绩
90分以上 --> A
80分~89分 --> B
70分~79分 --> C
60分~69分 --> D
80分~89分 --> B
70分~79分 --> C
60分~69分 --> D
60分以下 --> E
Version: 0.1
@ -190,7 +190,7 @@ else:
```Python
"""
输入月收入和五险一金计算个人所得税
输入月收入和五险一金计算个人所得税(2019年以前的算法)
Version: 0.1
Author: 骆昊

View File

@ -1004,19 +1004,29 @@ drop view vw_student_score;
下面的存储过程实现了查询某门课程的最高分、最低分和平均分。
```SQL
drop procedure if exists sp_score_by_cid;
delimiter $$
create procedure sp_get_score(courseId int,
out maxScore decimal(4,1),
out minScore decimal(4,1),
out avgScore decimal(4,1))
create procedure sp_score_by_cid(
courseId int,
out maxScore decimal(4,1),
out minScore decimal(4,1),
out avgScore decimal(4,1)
)
begin
select max(score) into maxScore from tb_record where cid=courseId;
select min(score) into minScore from tb_record where cid=courseId;
select avg(score) into avgScore from tb_record where cid=courseId;
select max(score) into maxScore from tb_record
where cid=courseId;
select min(score) into minScore from tb_record
where cid=courseId;
select avg(score) into avgScore from tb_record
where cid=courseId;
end $$
delimiter ;
call sp_score_by_cid(1111, @a, @b, @c);
select @a, @b, @c;
```
> 说明在定义存储过程时因为可能需要书写多条SQL而分隔这些SQL需要使用分号作为分隔符如果这个时候仍然用分号表示整段代码结束那么定义存储过程的SQL就会出现错误所以上面我们用`delimiter $$`将整段代码结束的标记定义为`$$`,那么代码中的分号将不再表示整段代码的结束,需要马上执行,整段代码在遇到`end $$`时才输入完成并执行。在定义完存储过程后,通过`delimiter ;`将结束符重新改回成分号。
@ -1026,7 +1036,7 @@ delimiter ;
调用存储过程。
```SQL
call sp_get_score(1111, @a, @b, @c);
call sp_score_by_cid(1111, @a, @b, @c);
```
获取输出参数的值。
@ -1038,7 +1048,7 @@ select @a as 最高分, @b as 最低分, @c as 平均分;
删除存储过程。
```SQL
drop procedure sp_get_score;
drop procedure sp_score_by_cid;
```
在存储过程中我们可以定义变量、条件可以使用分支和循环语句可以通过游标操作查询结果还可以使用事件调度器这些内容我们暂时不在此处进行介绍。虽然我们说了很多存储过程的好处但是在实际开发中如果过度的使用存储过程将大量复杂的运算放到存储过程中也会导致占用数据库服务器的CPU资源造成数据库服务器承受巨大的压力。为此我们一般会将复杂的运算和处理交给应用服务器因为很容易部署多台应用服务器来分摊这些压力。