商品名称: | 零基础Python从入门到精通 博库网 | 开本: | 16开 |
作者: | 零壹快学 | 页数: | |
定价: | 69.8 | 出版时间: | 2019-08-01 |
ISBN号: | 9787218136172 | 印刷时间: | 2019-07-01 |
出版社: | 广东人民 | 版次: | 1 |
商品类型: | 图书 | 印次: | 1 |
作者简介:零基础,一起学!
零壹快学是一个集教育、培训、交流于一体的计算机学习融媒体平台,覆盖Web、APP和微信小程序等场景,为广大IT学习者提供计算机各学科的教学资源、培训课程、测评系统等。通过人工智能手段,模拟真实课堂环境,力求打造成为一个全面、 、高效的 计算机在线教育平台。目前,平台已开发了包括计算机编程、云计算、区块链等在内的多门课程,提供计算机等级考试在线题库系统,将陆续开发计算机技术与软件专业技术资格(水平)考试、CCIE等在线题库系统,同时拥有一支由一线互联网公司工程师、知名高校教师组成的专家团队,精心为广大IT学习者提供优质的学习资源、课程和服务。
内容提要:本书以帮助零基础读者学习并掌握计算机编程Python语言为宗旨,全面系统地讲解了Python语言的基础内容和核心技术,并设计大量实际企业工作中的编程场景和代码实例,提供大量的设计过程和图例,增加读者的实战操作经验和提高分析解决问题的能力。本书的每一章特别编写了知识扩展章节,归纳总结了Python在实战应用、编程技巧和互联网安全等方面的相关知识。同时,本书还配有教学视频,对书中的复杂程序和代码进行详细解释和操作演示,便于初学者理解,提高学习效率,并按照正确的思路和方法将所学知识运用到高新技术、移动互联网、智能大数据等大中小企业的计算机软件开发中。
......
目录:第1章 走进Python……………………… 1
1.1 Python编程语言概述………………… 1
1.1.1 Python的历史… …………………… 1
1.1.2 Python的设计哲学与应用范围… … 2
1.1.3 Python 2和Python 3… ……………… 4
1.2 学好Python的建议…………………… 5
1.2.1 Python语言的特点… ……………… 5
1.2.2 如何学习Python?… ……………… 6
1.3 Python官方文档……………………… 7
1.4 常用软件……………………………… 7
1.5 Python开发社区……………………… 8
第2章 安装和运行Python……………… 9
2.1 在Windows上安装Python…………… 9
2.1.1 安装Python… ……………………… 10
2.1.2 运行Python… ……………………… 11
2.1.3 安装文本编辑器…………………… 12
2.2 在Mac上安装Python… ……………… 15
2.2.1 安装Python… ……………………… 15
2.2.2 运行Python… ……………………… 16
2.2.3 安装文本编辑器…………………… 16
2.3 在Linux上安装Python… …………… 18
2.3.1 安装Python… ……………………… 18
2.3.2 运行Python… ……………………… 19
2.4 小结…………………………………… 20
第3章 小试Python…………………… 21
3.1 开始Python编程……………………… 21
3.1.1 数字………………………………… 21
3.1.2 字符串……………………………… 23
3.1.3 列表………………………………… 28
3.2 其他常见类型………………………… 29
3.2.1 字面量……………………………… 29
3.2.2 布尔类型…………………………… 29
3.2.3 常量………………………………… 30
3.3 运算符………………………………… 30
3.3.1 算术运算符………………………… 30
3.3.2 比较运算符………………………… 31
3.3.3 赋值运算符………………………… 32
3.3.4 位运算符…………………………… 34
3.3.5 逻辑运算符………………………… 34
3.3.6 关键字in和is… …………………… 35
3.4 表达式………………………………… 36
3.5 小结…………………………………… 36
3.6 知识拓展……………………………… 36
3.6.1 运算符优先级……………………… 36
3.6.2 注释………………………………… 37
第4章 数据结构… …………………… 38
4.1 通用序列操作………………………… 38
4.1.1 索引………………………………… 38
4.1.2 切片………………………………… 40
4.1.3 序列相加…………………………… 50
4.1.4 序列重复…………………………… 51
4.1.5 成员资格…………………………… 52
4.1.6 长度、 小值、 大值和求和…… 54
4.2 列表…………………………………… 55
4.2.1 列表 新…………………………… 55
4.2.2 增加元素…………………………… 56
4.2.3 删除元素…………………………… 58
4.2.4 查找元素…………………………… 60
4.2.5 队列的其他操作…………………… 61
4.3 元组…………………………………… 62
4.3.1 定义元组…………………………… 62
4.3.2 删除元组…………………………… 63
4.3.3 元组的其他操作…………………… 64
4.4 字典…………………………………… 65
4.4.1 定义字典…………………………… 65
4.4.2 使用字典…………………………… 66
4.4.3 字典的其他操作…………………… 68
4.5 小结…………………………………… 74
4.6 知识拓展……………………………… 74
4.6.1 集合………………………………… 74
4.6.2 列表推导式、字典推导式和集合
推导式……………………………… 77
第5章 流程控制… …………………… 79
5.1 if判断… ……………………………… 79
5.1.1 if语句… …………………………… 79
5.1.2 else语句… ………………………… 83
5.1.3 elif语句……………………………… 83
5.2 循环…………………………………… 85
5.2.1 while循环…………………………… 85
5.2.2 for循环……………………………… 86
5.2.3 break和continue语句… …………… 90
5.3 小结…………………………………… 91
5.4 知识拓展……………………………… 91
5.4.1 pass语句… ………………………… 91
5.4.2 循环语句中的else… ……………… 94
第6章 函 数… ……………………… 97
6.1 函数的概念…………………………… 97
6.2 函数的定义…………………………… 97
6.3 函数参数……………………………… 98
6.3.1 必须参数…………………………… 99
6.3.2 关键字参数 ……………………… 100
6.3.3 默认参数………………………… 101
6.3.4 可变参数………………………… 103
6.4 变量作用域………………………… 106
6.4.1 局部变量………………………… 106
6.4.2 全局变量………………………… 108
6.5 函数返回值………………………… 109
6.6 Lambda表达式… ………………… 112
6.7 小结………………………………… 114
6.8 知识拓展…………………………… 114
6.8.1 文档字符串……………………… 114
6.8.2 内置函数………………………… 116
6.8.3 函数注释………………………… 117
第7章 面向对象… …………………… 119
7.1 面向对象介绍……………………… 119
7.1.1 对象……………………………… 121
7.1.2 类………………………………… 123
7.2 Python与面向对象………………… 123
7.2.1 介绍……………………………… 124
7.2.2 定义语法………………………… 124
7.2.3 类的使用………………………… 125
7.2.4 类的构造方法…………………… 125
7.2.5 类的属性………………………… 126
7.2.6 类中的方法……………………… 127
7.2.7 私有属性………………………… 128
7.2.8 私有方法………………………… 130
7.3 继承和多态………………………… 130
7.3.1 继承……………………………… 130
7.3.2 多态……………………………… 135
7.3.3 鸭子类型………………………… 138
7.4 小结………………………………… 140
7.5 知识拓展…………………………… 140
7.5.1 类变量和实例变量……………… 140
7.5.2 静态方法与类方法……………… 141
第8章 错误和异常… ………………… 143
8.1 语法错误…………………………… 143
8.2 异常………………………………… 144
8.3 处理异常…………………………… 146
8.4 抛出异常…………………………… 148
8.5 finally子句… ……………………… 150
8.6 小结………………………………… 151
8.7 知识拓展…………………………… 152
自定义异常……………………………… 152
第9章 模 块… ……………………… 154
9.1 介绍………………………………… 154
9.2 模块………………………………… 154
9.2.1 模块介绍………………………… 154
9.2.2 __name__变量…………………… 155
9.2.3 dir函数…………………………… 156
9.2.4 使用模块………………………… 157
9.3 包…………………………………… 158
9.3.1 使用包…………………………… 158
9.3.2 包在多目录中使用……………… 159
9.4 标准库……………………………… 160
9.4.1 sys………………………………… 160
9.4.2 os… ……………………………… 166
9.4.3 math… …………………………… 169
9.4.4 random… ………………………… 172
9.5 安装第三方库……………………… 175
9.5.1 Linux以及Mac OS平台…………… 175
9.5.2 Windows平台… ………………… 177
9.6 小结………………………………… 178
9.7 知识拓展…………………………… 179
9.7.1 globals和locals函数……………… 179
9.7.2 pyc文件… ……………………… 183
0章 文件与IO… ………………… 184
10.1 打开文件… ……………………… 184
10.1.1 文件模式… …………………… 184
10.1.2 文件编码… …………………… 185
10.1.3 文件缓冲… …………………… 186
10.2 文件基本操作… ………………… 186
10.2.1 读文件… ……………………… 186
10.2.2 写文件… ……………………… 187
10.2.3 按行读文件… ………………… 188
10.2.4 按行写文件… ………………… 189
10.2.5 关闭文件… …………………… 190
10.3 StringIO和BytesIO… …………… 192
10.4 序列化与反序列化… …………… 194
10.4.1 pickle模块… …………………… 194
10.4.2 JSON序列化与反序列化… …… 197
10.5 小结… …………………………… 200
1章 日期和时间………………… 201
11.1 基本概念… ……………………… 201
11.1.1 时间戳… ……………………… 201
11.1.2 时间日期格式化符号… ……… 202
11.1.3 时间元组… …………………… 203
11.2 time模块… ……………………… 203
11.2.1 time函数………………………… 203
11.2.2 localtime函数…………………… 204
11.2.3 mktime函数… ………………… 204
11.2.4 gmtime函数… ………………… 205
11.2.5 asctime函数… ………………… 206
11.2.6 ctime函数… ………… 206
11.2.7 sleep函数… …………………… 207
11.2.8 clock函数… …………………… 207
11.2.9 strftime函数… ………………… 208
11.2.10 strptime函数…………………… 209
11.3 datetime模块……………………… 209
11.3.1 date对象………………………… 209
11.3.2 time对象………………………… 212
11.3.3 datetime对象… ………………… 213
11.3.4 timedelta对象…………………… 216
11.3.5 tzinfo对象… …………………… 217
11.4 calendar模块……………………… 218
11.5 小结… …………………………… 222
11.6 知识拓展… ……………………… 223
11.6.1 dateutil介绍… ………………… 223
11.6.2 使用dateutil… ………………… 223
2章 多线程与并行……………… 227
12.1 线程和进程介绍… ……………… 227
12.1.1 进程基本概念… ……………… 227
12.1.2 线程基本概念… ……………… 228
12.1.3 多线程基本概念… …………… 228
12.1.4 Python与全局解释器锁………… 229
12.2 Python线程模块… ……………… 229
12.2.1 _thread模块… ………………… 229
12.2.2 Threading.Thread… …………… 233
12.2.3 线程同步… …………………… 237
12.2.4 队列… ………………………… 241
12.3 Python进程模块… ……………… 244
12.3.1 os模块…………………………… 244
12.3.2 subprocess模块… ……………… 246
12.3.3 multiprocessing.Process… ……… 249
12.4 小结… …………………………… 253
12.5 知识拓展… ……………………… 253
12.5.1 进程池… ……………………… 253
12.5.2 线程池… ……………………… 256
3章 正则表达式………………… 259
13.1 正则表达式介绍… ……………… 259
13.2 正则表达式语法… ……………… 260
13.2.1 普通字符… …………………… 260
13.2.2 字符转义… …………………… 262
13.2.3 元字符… ……………………… 262
13.2.4 限定符… ……………………… 263
13.2.5 定位符… ……………………… 264
13.2.6 分组构造… …………………… 265
13.2.7 匹配模式… …………………… 265
13.3 re模块… ………………………… 266
13.3.1 re模块介绍……………………… 266
13.3.2 compile函数… ………………… 267
13.3.3 match函数… …………………… 267
13.3.4 re.search………………………… 268
13.3.5 re.findall………………………… 269
13.3.6 re.split…………………………… 269
13.3.7 re.sub… ………………………… 270
13.4 小结… …………………………… 270
13.5 知识拓展… ……………………… 271
13.5.1 re模块的分组匹配……………… 271
13.5.2 贪婪与非贪婪匹配… ………… 272
13.5.3 零宽断言… …………………… 272
13.5.4 常用正则表达式参考… ……… 273
4章 邮件处理…………………… 282
14.1 电子邮件介绍… ………………… 282
14.1.1 电子邮件简介… ……………… 282
14.1.2 电子邮件格式… ……………… 282
14.1.3 电子邮件工作原理… ………… 283
14.2 发送电子邮件… ………………… 284
14.2.1 SMTP发送电子邮件… ………… 284
14.2.2 发送HTML格式的电子邮件… … 286
14.2.3 发送带附件的邮件… ………… 287
14.2.4 发送图片… …………………… 289
14.3 接收电子邮件… ………………… 291
14.3.1 使用POP3协议下载邮件… …… 291
14.3.2 使用IMAP协议下载邮件… …… 293
14.3.3 解析邮件… …………………… 294
14.4 小结… …………………………… 296
5章 加密解密…………………… 297
15.1 加密技术概述… ………………… 297
15.1.1 加密技术介绍… ……………… 297
15.1.2 对称加密算法… ……………… 299
15.1.3 非对称加密算法… …………… 299
15.1.4 数字签名… …………………… 300
15.2 Python加密技术… ……………… 301
15.2.1 使用MD5加密… ……………… 301
15.2.2 使用SHA加密… ……………… 304
15.2.3 使用DES加密…………………… 304
15.2.4 使用AES加密…………………… 306
15.2.5 使用RSA加密…………………… 308
15.3 加密技术使用场景… …………… 311
15.3.1 密码存储… …………………… 311
15.3.2 base64加密……………………… 311
15.4 小结… …………………………… 312
15.5 知识拓展… ……………………… 312
15.5.1 密码学之父… ………………… 312
15.5.2 万维网的发展… ……………… 312
15.5.3 Hash在密码学的应用… ……… 313
15.5.4 加盐算法… …………………… 313
6章 网络编程…………………… 314
16.1 计算机网络介绍… ……………… 314
16.1.1 OSI七层模型…………………… 314
16.1.2 TCP/IP协议介绍… …………… 315
16.1.3 什么是IP地址?… …………… 315
16.1.4 什么是子网掩码?… ………… 316
16.1.5 域名… ………………………… 317
16.2 Python底层网络模块… ………… 317
16.2.1 Socket简介……………………… 317
16.2.2 socket模块……………………… 318
16.2.3 socket对象方法………………… 319
16.3 TCP编程… ……………………… 321
16.3.1 客户端… ……………………… 321
16.3.2 服务端… ……………………… 324
16.4 UDP编程… ……………………… 326
16.5 urllib模块… ……………………… 328
16.5.1 GET请求………………………… 328
16.5.2 POST请求… …………………… 330
16.6 小结… …………………………… 332
16.7 知识拓展… ……………………… 332
16.7.1 requests模块介绍… …………… 332
16.7.2 requests模块简单使用… ……… 333
7章 MySQL数据库… …………… 337
17.1 MySQL介绍… …………………… 337
17.2 MySQL工具介绍… ……………… 337
17.2.1 MySQL 控制台客户端… ……… 337
17.2.2 MySQL Workbench软件………… 338
17.3 数据库管理… …………………… 338
17.3.1 创建数据库… ………………… 338
17.3.2 选择数据库… ………………… 339
17.3.3 查看数据库… ………………… 340
17.3.4 修改数据库… ………………… 341
17.3.5 删除数据库… ………………… 341
17.4 字段类型… ……………………… 342
17.4.1 数值类型… …………………… 342
17.4.2 字符串类型… ………………… 343
17.4.3 时间类型… …………………… 344
17.5 数据表操作… …………………… 345
17.5.1 创建数据表… ………………… 345
17.5.2 查看数据表… ………………… 348
17.5.3 修改数据表… ………………… 350
17.5.4 删除数据表… ………………… 353
17.6 数据库语句… …………………… 353
17.6.1 新增数据… …………………… 353
17.6.2 查询数据… …………………… 354
17.6.3 修改数据… …………………… 354
17.6.4 删除数据… …………………… 355
17.6.5 replace操作… ………………… 355
17.7 数据表字符集… ………………… 356
17.7.1 查看字符集… ………………… 357
17.7.2 设置字符集… ………………… 359
17.7.3 处理乱码… …………………… 360
17.8 数据库索引… …………………… 361
17.8.1 索引介绍… …………………… 361
17.8.2 索引… …………………… 361
17.8.3 普通索引… …………………… 362
17.9 小结… …………………………… 363
17.10 知识拓展………………………… 363
17.10.1 MySQL关键字… ……………… 363
17.10.2 MySQL的发展历程… ………… 365
8章 Python操作MySQL………… 367
18.1 Python数据库API………………… 367
18.1.1 DB-API介绍… ………………… 367
18.1.2 模块接口… …………………… 367
18.1.3 错误和异常… ………………… 368
18.1.4 连接和游标对象… …………… 369
18.1.5 类型… ………………………… 372
18.2 数据库操作… …………………… 373
18.2.1 安装模块… …………………… 373
18.2.2 连接数据库… ………………… 373
18.2.3 创建表… ……………………… 374
18.2.4 插入数据… …………………… 375
18.2.5 查询数据… …………………… 376
18.2.6 新数据… …………………… 377
18.2.7 删除数据… …………………… 379
18.3 事务… …………………………… 380
18.4 小结… …………………………… 382
18.5 知识拓展… ……………………… 382
18.5.1 SQLAlchemy模块介绍… ……… 382
18.5.2 SQLAlchemy模块简单使用… … 382
9章 使用Django创建Web站点…… 385
19.1 常见的Web开发框架… ………… 385
19.1.1 Python与Web…………………… 385
19.1.2 Flask… ………………………… 385
19.1.3 Tornado… ……………………… 386
19.1.4 Django…………………………… 387
19.1.5 Pyramid… ……………………… 387
19.1.6 选择合适的框架… …………… 388
19.2 开发环境介绍… ………………… 388
19.2.1 Django安装……………………… 388
19.2.2 创建Django项目………………… 389
19.2.3 开发服务器… ………………… 391
19.3 开始Django之旅… ……………… 394
19.3.1 配置数据库… ………………… 394
19.3.2 生成Django应用………………… 395
19.3.3 创建模型… …………………… 397
19.3.4 管理站点… …………………… 399
19.3.5 编辑视图… …………………… 403
19.3.6 使用模板… …………………… 405
19.3.7 总结… ………………………… 407
19.4 小结… …………………………… 408
19.5 知识拓展… ……………………… 408
19.5.1 WSGI介绍… …………………… 408
19.5.2 实现一个简单的WSGI接口… … 409
......
精 彩 页:第1章 走进Python
1.2 学好Python的建议
1.2.1 Python语言的特点
Python是一门动态类型的解释型语言。作为解释型语言,Python不需要像Pascal或者C++那样在运行之前先通过编译器进行漫长的编译过程生成二进制文件之后才能运行,Python程序只需要在运行的操作系统上安装Python解释器就可以运行。在运行期间,解释器将代码逐行解释为机器码之后再运行。作为动态类型的编程语言,Python拥有动态类型系统,相对于C++和Java等静态类型语言,Python在运行时才进行类型检查,并且随时可以改变变量的类型。读者会在深入学习本书之后体会到动态类型系统的优点。Python还有成熟的垃圾回收功能,能够自动管理内存使用,并且支持多种编程范式,包括面向对象、命令式、函数式和过程式编程,其本身拥有一个巨大而广泛的标准库。
Python解释器本身几乎可以在所有的操作系统中运行。Python的正式解释器CPython是用C语言编写的,是一个由社群驱动的自由软件,目前由Python软件基金会管理。
虽然Python被归类为脚本语言,但实际上许多大规模软件开发项目和公司例如谷歌、土豆
网、 头条、豆瓣以及知乎等网站都广泛地使用Python作为其开发语言。与其他如Shell Script、VBScript等只能处理简单任务的脚本语言不同,Python几乎能处理所有需要计算机处理的任务。
Python本身被设计为可扩展的,并非所有的特性和功能都集成到语言核心之中。Python提供了丰富的API(Application Programming Interface,应用程序编程接口)和工具,以便程序员能够轻松地使用C、C++、Cython来编写扩展模块。Python编译器本身也可以被集成到其他需要脚本语言的程序内。因此,有很多人把Python当作一种“胶水语言”使用,将其他语言编写的程序进行集成和封装。许多公司会在性能要求极高的部分使用C或者C++开发,然后使用Python调用相应的模块,这充分体现了Python开发快的优势。当然,其中的缺点也十分明显,Python并没有像汇编语言、C、C++和Java语言那样运行高效,但是大部分情况下Python的执行效率能 满足需求。
1.2.2 如何学习Python?
在没有编程基础的情况下,从头开始学习任何一门编程语言都会比较困难,经常会不知道从哪里开始学起,即使看懂了,自己也写不出代码,结果中途放弃。通过本节,希望大家可以知道如何 好地学习Python。
学习编程语言,一开始 重要的就是学习这门语言的语法,语法就类似这门编程语言的词汇表。学习Python的过程中同样需要不断地学习Python语法,查阅相关代码,自己动手写每一个简短的例子。本书每一个知识点之后都有“动手写”的例子部分,每一个例子都是可以实际运行的,动手运行每个例子有助于初学者 好地理解Python。
书中有大量的代码示例,前期可以照着书中的代码示例进行拷贝,在达到一定熟练度之后,就要尝试自己编写代码。不用担心自己写错代码会怎么办,或者不知道该如何发现错误代码——由于IDE(Integrated Development Environment,集成开发环境)有代码报错功能,自己写的代码格式有问题时,会有明显的错误提示。
在经过不断地重复练习,对很多语法有了一定的认识之后,我们就要开始举一反三。比如在学习文件操作这一章节时,书中会讲到用Python写文件,这里就可以举一反三:Python有几种写文件的方式?这几种写文件方式的执行结果是什么?如果两个Python程序同时向一个文件写内容会怎么样……学习新知识的时候,要不断地提出问题,然后通过编写代码进行测试, 终才会找到答案,这样你的知识覆盖面也才会 加全面。
在熟练编写简单的代码之后,就要开始学习如何使用它来创建小程序。此时,我们将从小项目开始,继续加深对Python语法的学习。开发各种小型项目、小的场景,是一种很好的学习方式,编写一个小项目,就要用到各种以前学到的知识。继续以文件章节为例子,比如我们想做一个简易的日志系统,就会用到Python文件函数、字符串处理函数以及时间相关函数,一个小小的项目就可以把我们所学到的知识关联起来。当然,本书也会提供很多小项目给大家练手,小项目还有很多优点,比如易于调试,而且可以作为自己的开发例子,我们可以从中获得小小的成就感。
找一些正在学习Python的人或者有经验的Python开发者一起合作编写代码,在合作过程中,你会学到一些你之前没有注意到的知识点。逛Python技术社区,查看大家提交的各种Python问题,并尝试去回答,这点 重要。那些问题都是大家在学习或工作中遇到的真实问题,尝试去解决这些问题,会让你变得 。
还有一点就是需要学好英语。虽然大部分Python相关的文档都有中文,但是新的技术和知识都是以英语作为 的语言的,并且许多讨论组也将英语作为沟通语言。
1.3 Python官方文档
Python官方网站有不少新手教程以及Python语言的全部内容,在开发过程中有任何疑惑都可以查阅文档中的记录以及示例。文档中详细写明了Python中各个功能的使用场景和参数定义以及源码。读者可以在官网https://docs.python.org/3/查找 新的文档。
Python官方文档的语言是英语,正如前文所说的,想要学好Python编程语言,读者朋友们也需要学好英语。也有不少热心的网友对官方文档进行了中文翻译,大家可以自行上网搜索。
1.4 常用软件
1.开发工具(IDE或编辑器)
Python开发工具有许多,IDE的功能比较强大,工程师通过IDE进行代码开发时,一般IDE都会提供代码提示、文件和目录管理、代码搜索和替换、查找函数等功能。文本编辑器功能比较简单,但是有的编辑器例如Microsoft Visual Studio Code和Sublime等也可以通过安装插件来达到IDE所提供的大部分功能。
(1)Microsoft Visual Studio Code,是一个由微软开发的,同时支持Windows、Linux和Mac OS操作系统并且开放源代码的文本编辑器,它支持调试,并内置了Git版本控制功能,同时也具有开发环境功能,例如代码补全、代码片段、代码重构等。该编辑器支持用户自定义配置,例如改变主题颜色、键盘快捷方式、编辑器属性和其他参数,还支持扩展程序并在编辑器中内置了扩展程序管理的功能。
(2)PyCharm,是由JetBrains公司出品的IDE工具,集成了一些系列开发功能,如Python包管理、虚拟环境管理、框架整合和Git等。PyCharm大大节省了程序开发时间,运行 快速,代码可以自动 新格式,支持多个操作系统。PyCharm有免费的开源社区版和收费版两个版本,免费的开源社区版功能要比收费版功能少一些。
2.代码管理工具
一个网站通常由多个开发人员共同完成,代码管理工具可以记录一个项目从开始到结束的整个过程,追踪项目中所有内容的变化情况,如增加了什么内容、删除了什么内容、修改了什么内容等等。它还可以管理网站的版本,可以清楚地知道不同版本之间的异同点,如版本2.0相较于版本1.0多了什么内容和功能等。开发人员可以通过代码管理工具进行权限控制,防止代码混乱,提高安全性,避免一些不必要的损失和麻烦。
(1)SVN(Subversion),是一个开源的集中式版本控制系統,管理随时间改变的数据,所有数据集中存放在中央仓库(Repository)。Repository就好比一个普通的文件服务器,不过它会记住每一次文件的变动,这样你就可以把代码文件恢复到旧的版本,或是浏览代码文件的变动历史。
(2)Git,是一个开源的分布式版本控制系统,和SVN功能类似,但Git的每台电脑都相当于一个服务器,代码是 新的,比较灵活,可以有效、高速地处理项目版本管理。 大的代码托管网站GitHub,采用的也是Git技术。
3.其他工具
(1)JIRA,是Atlassian公司出品的项目与事务跟踪工具,可以使用此工具进行网站bug管理、缺陷跟踪、任务跟踪和敏捷管理等。
(2)Redmine,是用Ruby编程语言开发的一套跨平台项目管理系统,通过项目(Project)的形式把成员、任务(问题)、文档、讨论以及各种形式的资源组织在一起,用大家参与 新任务、文档等内容的方式来推动项目的进度,同时系统利用时间线索和各种动态的报表形式来自动向成员汇报项目进度,并提供Wiki、新闻台等,还可以集成其他版本管理系统和bug跟踪系统。
(3)XMind,一款实用的思维导图软件,可以使用XMind画产品架构图、项目流程图、功能分解图等,简单易用、美观、功能强大,拥有高效的可视化思维模式,具备可扩展、跨平台、稳定的性能,真正帮助用户提高生产率,促进有效的沟通及协作。
(4)TeamCola,由 团队开发的时间管理工具,能较好地解决时间问题,而其管理的时间颗粒度为半小时,也不会过多增加管理成本。