描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302483922
本书特色
* 零基础、入门级的讲解。
无论你是否从事计算机相关行业,是否接触过Python编程语言,都能从本书中找到*起点。
* 超多、实用、专业的范例和项目。
本书在编排上紧密结合深入学习Python编程技术的先后顺序,从Python的基本语法开始,带领大家逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
* 随时检测自己的学习成果。
每章首页中,均提供了学习目标,以指导读者重点学习及学后检查。
大部分章节*后的“跟我练练手”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
* 细致入微、贴心提示。
本书在讲解过程中,在各章中使用了“注意”和“提示”等小贴士,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
* 专业创作团队和技术支持。
本书由千谷高新教育中心编著并提供技术支持。
你在学习过程中遇到任何问题,都可加入QQ群(案例课堂VIP)——451102631进行提问,专家人员会在线答疑。
超值赠送资源
* 全程同步教学录像。
涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点,能更轻松地掌握书中所有的Python编程语言知识,而且扩展的讲解部分使你得到比书中更多的收获。
* 超多容量王牌资源大放送。
赠送大量王牌资源,包括本书实例源代码、教学幻灯片、本书精品教学视频、16大经典Python项目源码、Python错误代码表速查手册、Python 2.x和Python 3.x版本的区别速查手册、Python 标准库速查手册、Python开发常见问题解决方案、Python工程师面试常见面试题等。除了可以通过QQ群(案例课堂VIP)——451102631获取赠送资源,读者还可以进入http://www.apecoding.com/下载赠送资源。
本书以零基础讲解为宗旨,用实例引导读者深入学习,采取“基础知识→核心技术→高级应用→项目开发实战”的讲解模式,深入浅出地讲解Python的各项技术及实战技能。
本书第1篇基础知识主要讲解揭开Python 神秘面纱、基础语法、列表、元组、字典、字符串操作、流程控制和函数等;第2篇核心技术主要讲解对象与类、程序调试和异常处理、模块与类库、迭代器、操作文件的方法、图形用户界面和流行的Python开发工具等;第3篇高级应用主要讲解Python的高级技术、数据库的应用技术、网络编程的应用、脚本程序设计和网页资料的处理方法等;第4篇项目开发实战主要讲解开发学生信息管理系统、开发网络聊天室系统和开发网络数据分析系统。本书赠送了9大超值的王牌资源,包括本书实例源代码、教学幻灯片、本书精品教学视频、16大经典Python项目源码、Python错误代码表速查手册、Python 2.X和Python 3.x版本的区别速查手册、Python 标准库速查手册、Python开发常见问题解决方案、Python工程师面试常见面试题等。
本书适合任何想学习Python编程语言的人员,无论您是否从事计算机相关行业,是否接触过Python语言,通过学习均可快速掌握Python在项目开发中的知识和技巧。
目 录
第1篇 基 础 知 识
第1章 揭开Python神秘面纱…. 3
1.1
什么是Python. 4
1.2
Python的优点和特性… 4
1.2.1 Python的优点… 4
1.2.2 Python的特点… 5
1.3
搭建Python 3的编程环境… 6
1.4
运行Python的3种方式… 8
1.5
享受安装成果——编写个Python
程序… 9
1.6
Python是怎样运行的… 11
1.7
大神解惑… 12
1.8
跟我练练手… 12
第2章 初识庐山真面目——
基础语法…. 13
2.1
标识符和保留字… 14
2.2
变量… 14
2.3
程序结构… 15
2.4
数据类型… 17
2.4.1 Number(数字) 17
2.4.2 String(字符串) 19
2.4.3 Sets(集合) 20
2.4.4 List(列表) 20
2.4.5 Tuple(元组) 21
2.4.6 Dictionary(字典) 22
2.5
运算符和优先级… 22
2.5.1 算术运算符… 22
2.5.2 比较运算符… 23
2.5.3 赋值运算符… 25
2.5.4 逻辑运算符… 26
2.5.5 位运算符… 27
2.5.6 身份运算符… 28
2.5.7 成员运算符… 29
2.5.8 运算符的优先级… 29
2.6 大神解惑… 31
2.7 跟我练练手… 33
第3章 不可不知的数据结构——列表、
元组和字典…. 35
3.1 列表的基本操作… 36
3.1.1 列表对象的特性… 36
3.1.2 列表包容… 37
3.1.3 列表的操作符… 38
3.1.4 列表的函数和方法… 38
3.2 元组的基本操作… 41
3.2.1 元组对象的特性… 41
3.2.2 元组的内置函数… 42
3.3 字典的基本操作… 43
3.3.1 字典对象的特性… 43
3.3.2 字典的内置函数和方法… 45
3.4 大神解惑… 47
3.5 跟我练练手… 47
第4章 一连串的字符——字符串操作…. 49
4.1 访问字符串中的值… 50
4.2 字符串的更新… 50
4.3 转义字符… 51
4.4 字符串运算符… 52
4.5 字符串格式化… 53
4.6 字符串使用的方法… 54
4.7 大神解惑… 58
4.8 跟我练练手… 59
第5章 程序的执行方向——流程控制和
函数…. 61
5.1
基本处理流程… 62
5.2
赋值语句… 63
5.3
条件判断语句… 63
5.3.1 if语句… 63
5.3.2 if嵌套… 64
5.4
循环控制语句… 65
5.4.1 while语句… 65
5.4.2 for语句… 67
5.4.3 continue语句和break语句… 68
5.4.4 pass语句… 69
5.4.5 妙用range()函数和len()函数… 70
5.5
内置函数… 71
5.6
用户自定义函数… 73
5.6.1 定义函数… 74
5.6.2 函数的参数传递… 75
5.6.3 return语句… 77
5.6.4 变量作用域… 78
5.6.5 函数的内置属性和命名空间… 79
5.7
输入和输出函数… 80
5.8
大神解惑… 81
5.9
跟我练练手… 82
第II篇 核 心 技 术
第6章 主流软件开发方法——
对象与类…. 85
6.1
理解面向对象程序设计… 86
6.1.1 什么是对象… 86
6.1.2 面向对象的特征… 87
6.1.3 什么是类… 87
6.2
类的定义… 88
6.3
类的构造方法和内置属性… 88
6.4
类实例… 90
6.4.1 创建类实例… 90
6.4.2 类实例的内置属性… 92
6.5
类的内置方法… 93
6.6
重载运算符… 99
6.7
类的继承… 100
6.8
类的多态… 103
6.9
类的封装… 104
6.10
元类… 106
6.11
垃圾回收… 107
6.12
大神解惑… 108
6.13
跟我练练手… 109
第7章 错误终结者——程序调试和
异常处理…. 111
7.1
新手常见错误和异常… 112
7.2
异常是什么… 114
7.3
内置异常… 115
7.4
使用try…except语句处理异常… 121
7.5
异常类的实例和清除异常… 124
7.5.1 异常类的实例… 124
7.5.2 清除异常… 125
7.6
内置异常的协助模块… 126
7.6.1 sys模块… 126
7.6.2 traceback对象… 126
7.7
抛出异常… 126
7.7.1 raise语句… 127
7.7.2 结束解释器的运行… 127
7.7.3 离开嵌套循环… 128
7.8
用户定义异常类… 129
7.9
程序调试… 130
7.9.1 使用assert语句… 130
7.9.2 使用__debug__内置变量… 131
7.10
错误代码… 132
7.11
大神解惑… 133
7.12
跟我练练手… 134
第8章 Python内部的秘密——
模块与类库…. 135
8.1
认识模块和类库… 136
8.1.1 模块是什么… 136
8.1.2 类库是什么… 137
8.2
模块和类库的基本操作… 138
8.3
自定义模块… 141
8.4
运行期服务模块… 142
8.5
字符串处理模块… 152
8.6
附属服务… 153
8.7
一般操作系统服务… 157
8.8
其他模块组… 165
8.9
大神解惑… 167
8.10
跟我练练手… 168
第9章 Python的强大功能——迭代器和
操作文件…. 169
9.1
迭代器… 170
9.2
生成器… 170
9.3
打开文件… 171
9.4
读取文件… 172
9.4.1 读取文件read()方法… 172
9.4.2 逐行读取readline()方法… 173
9.4.3 返回文件各行内容的
列表readlines()方法… 173
9.4.4 返回文件的当前位置tell()
方法… 174
9.4.5 截断文件truncate()方法… 174
9.4.6 设置文件当前位置seek()
方法… 175
9.5
写入文件… 176
9.5.1 将字符串写入文件… 176
9.5.2 写入多行writelines() 177
9.5.3 修改文件内容… 177
9.5.4 附加到文件… 178
9.6
关闭和刷新文件… 178
9.6.1 关闭文件… 178
9.6.2 刷新文件… 179
9.7
大神解惑… 179
9.8
跟我练练手… 180
第10章 图形用户界面…. 181
10.1
常用的Python GUI 182
10.2
使用tkinter创建GUI程序… 182
10.3
认识tkinter的控件… 184
10.4
几何位置的设置… 189
10.4.1 pack()方法… 189
10.4.2 grid()方法… 192
10.4.3 place()方法… 193
10.5
tkinter的事件… 194
10.5.1 事件的属性… 195
10.5.2 事件绑定方法… 195
10.5.3 鼠标事件… 196
10.5.4 键盘事件… 198
10.5.5 系统协议… 199
10.6
Button控件… 200
10.7
Canvas控件… 202
10.8
Checkbutton控件… 206
10.9
Entry控件… 207
10.10
Label控件… 209
10.11
Listbox控件… 211
10.12
Menu控件… 212
10.13
Message控件… 217
10.14
Radiobutton控件… 217
10.15
Scale控件… 219
10.16
Scrollbar控件… 221
10.17
Text控件… 222
10.18
Toplevel控件… 224
10.19
对话框… 225
10.19.1 messagebox模块… 225
10.19.2 filedialog模块… 227
10.19.3 colorchooser模块… 228
10.20
大神解惑… 230
10.21
跟我练练手… 231
第11章 流行的Python
开发工具…. 233
11.1
程序代码编辑工具… 234
11.2
IDLE的调试器… 240
11.3
编译Python文件… 243
11.4
Python的调试器——pdb模块… 244
11.5
反编译二进制码… 247
11.6
Python性能分析器… 247
11.6.1 加载profile模块… 247
11.6.2 pstats模块… 249
11.6.3 校正性能分析… 249
11.7
传输Python应用程序… 250
11.8
大神解惑… 250
11.9
跟我练练手… 251
第III篇 高 级 应 用
第12章 Python的高级技术…. 255
12.1
图像的处理… 256
12.1.1 下载与安装pillow.. 256
12.1.2 加载图像文件… 257
12.1.3 图像文件的属性… 259
12.1.4 复制与粘贴图像… 261
12.1.5 图像的几何转换… 262
12.1.6 存储图像文件… 264
12.2
语音的处理… 264
12.2.1 winsound模块… 264
12.2.2 sndhdr模块… 266
12.2.3 wave模块… 267
12.2.4 aifc模块… 270
12.3
科学计算——numpy模块… 270
12.3.1 下载和安装numpy模块… 270
12.3.2 array对象… 271
12.3.3 ufunc对象… 273
12.4
正则表达式… 273
12.5
线程… 277
12.6
大神解惑… 280
12.7
跟我练练手… 281
第13章 数据库的应用…. 283
13.1
平面数据库… 284
13.2
内置数据库——SQLite. 285
13.3
操作MySQL数据库… 287
13.3.1 安装PyMySQL. 287
13.3.2 连接MySQL数据库… 288
13.3.3 创建数据表… 289
13.3.4 插入数据… 289
13.3.5 查询数据… 290
13.3.6 更新数据… 291
13.3.7 删除数据… 291
13.4
大神解惑… 292
13.5
跟我练练手… 293
第14章 网络编程的应用…. 295
14.1
网络概要… 296
14.2
socket模块… 298
14.2.1 认识socket模块… 298
14.2.2 创建socket连接… 299
14.3
HTTP库… 300
14.3.1 socketserver模块… 301
14.3.2 server模块… 302
14.3.3 client模块… 304
14.4
urllib库… 305
14.4.1 request模块… 305
14.4.2 parse模块… 307
14.5
ftplib模块… 308
14.6
电子邮件服务协议… 310
14.6.1 smtplib模块… 310
14.6.2 poplib模块… 312
14.6.3 imaplib模块… 313
14.7
新闻群组… 314
14.8
远程连接计算机… 315
14.9
大神解惑… 316
14.10
跟我练练手… 317
第15章 CGI程序设计…. 319
15.1
CGI简介… 320
15.2
cgi模块… 320
15.2.1 输入和输出… 320
15.2.2 cgi模块的函数… 322
15.3
创建和执行脚本… 322
15.3.1 传输信息给Python脚本… 323
15.3.2 表单域的处理… 323
15.3.3 Session. 332
15.3.4 创建输出到浏览器… 332
15.4 使用cookie对象… 332
15.4.1 了解cookie. 332
15.4.2 读取cookie信息… 333
15.5 使用模板… 334
15.6 上传和下载文件… 337
15.7 脚本的调试… 339
15.8 大神解惑… 341
15.9 跟我练练手… 342
第16章 处理网页数据…. 343
16.1 XML编程基础… 344
16.1.1 XPath简介… 344
16.1.2 XSLT简介… 344
16.2 XML语法基础… 345
16.2.1 XML的基本应用… 345
16.2.2 XML文档组成和声明… 347
16.2.3 XML元素介绍… 348
16.3 Python解析XML. 350
16.3.1 使用SAX解析XML. 351
16.3.2 使用DOM解析XML. 353
16.4 XDR数据交换格式… 354
16.5 JSON数据解析… 358
16.6 Python解析HTML. 359
16.7 大神解惑… 365
16.8 跟我练练手… 365
第IV篇 项目开发实战
第17章 开发学生信息管理系统…. 369
17.1 准备工作… 370
17.1.1 配置Python开发环境… 370
17.1.2 选择合适的开发工具… 370
17.2 需求分析… 370
17.3 结构设计… 371
17.4 具体功能实现… 373
17.4.1 主界面程序main.py. 373
17.4.2 student.py模块… 374
17.4.3 utils.py模块… 375
17.4.4 addstudent.py模块… 376
17.4.5 deletestudent.py模块… 377
17.4.6 changestudent.py模块… 378
17.4.7 rankstudent.py模块… 379
17.5 项目测试… 379
17.5.1 添加学生信息… 379
17.5.2 对学生成绩进行排序… 381
17.5.3 修改学生成绩… 381
17.5.4 删除学生信息… 382
17.5.5 退出系统… 383
17.6 项目总结与扩展… 384
第18章 开发虚拟聊天室系统…. 385
18.1
必备知识点… 386
18.2 需求分析… 388
18.3 结构设计… 389
18.4 配置Python环境… 390
18.5 具体功能实现… 390
18.5.1 服务器端chatserver.py. 391
18.5.2 客户端chatclient.py. 393
18.6 项目测试过程… 394
18.6.1 测试客户端和服务器端间的
通信… 394
18.6.2 测试双人聊天… 397
18.6.3 测试多人聊天… 399
18.7 项目总结… 401
第19章 开发网络数据分析系统…. 403
19.1 必备知识点… 404
19.2 需求分析… 405
19.3 结构设计… 406
19.4 配置开发环境… 407
19.4.1 配置Python环境… 407
19.4.2 安装第三方库… 407
19.4.3 加载GML数据集… 411
19.5 具体功能实现… 411
19.5.1 graphgenerator.py模块… 411
19.5.2 communitydetection.py模块… 412
19.5.3 graphmeasures.py模块… 413
19.5.4 plotdegree.py模块… 415
19.6
项目测试… 416
19.6.1 社区发现… 417
19.6.2 分析节点的重要性… 419
19.6.3 综合统计分析… 424
前 言
“软件开发案例课堂”系列图书是专门为软件开发和数据库初学者量身定做的一套学习用书,整套书涵盖软件开发、数据库设计等方面,且具有以下特点。
前沿科技
无论是软件开发还是数据库设计,我们都精选较为前沿或者用户群的领域推进,帮助大家认识和了解动态。
作者团队
组织国家重点实验室和资深应用专家联手编著该套图书,融合丰富的教学经验与优秀的管理理念。
学习型案例设计
以技术的实际应用过程为主线,全程采用图解和同步多媒体相结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度,提升学习效率。
为什么要写这样一本书
Python具有丰富和强大的库。它常被称为“胶水语言”,能够把用其他语言制作的各种模块(尤其是C/C )很轻松地联结在一起。从网络社区的火热讨论来看,Python已成为受欢迎的编程语言之一。对不同规模的企业来说,Python程序员的薪资呈企业规模越大薪资越高的趋势。目前学习和关注Python的人越来越多,而很多Python的初学者都苦于找不到一本通俗易懂、容易入门和案例实用的参考书。通过本书的案例实训,大学生可以很快地上手流行的工具,提高职业化能力,从而帮助解决公司与学生的双重需求问题。
本书特色
* 零基础、入门级的讲解。
无论你是否从事计算机相关行业,是否接触过Python编程语言,都能从本书中找到起点。
* 超多、实用、专业的范例和项目。
本书在编排上紧密结合深入学习Python编程技术的先后顺序,从Python的基本语法开始,带领大家逐步深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。
* 随时检测自己的学习成果。
每章首页中,均提供了学习目标,以指导读者重点学习及学后检查。
大部分章节后的“跟我练练手”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。
* 细致入微、贴心提示。
本书在讲解过程中,在各章中使用了“注意”和“提示”等小贴士,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。
* 专业创作团队和技术支持。
本书由千谷高新教育中心编著并提供技术支持。
你在学习过程中遇到任何问题,都可加入QQ群(案例课堂VIP)——451102631进行提问,专家人员会在线答疑。
超值赠送资源
* 全程同步教学录像。
涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点,能更轻松地掌握书中所有的Python编程语言知识,而且扩展的讲解部分使你得到比书中更多的收获。
* 超多容量王牌资源大放送。
赠送大量王牌资源,包括本书实例源代码、教学幻灯片、本书精品教学视频、16大经典Python项目源码、Python错误代码表速查手册、Python 2.x和Python 3.x版本的区别速查手册、Python 标准库速查手册、Python开发常见问题解决方案、Python工程师面试常见面试题等。除了可以通过QQ群(案例课堂VIP)——451102631获取赠送资源,读者还可以进入http://www.apecoding.com/下载赠送资源。
读者对象
* 没有任何Python编程基础的初学者。
* 有一定的Python编程基础,想精通Python开发的人员。
* 有一定的Python基础,没有项目经验的人员。
* 正在进行毕业设计的学生。
* 大专院校及培训学校的老师和学生。
创作团队
本书由刘春茂和展娜娜编著,参加编写的人员还有蒲娟、刘玉萍、李琪、周佳、付红、李园、郭广新、侯永岗、王攀登、刘海松、孙若淞、王月娇、包慧利、陈伟光、胡同夫、王伟、梁云梁和周浩浩。在编写过程中,我们竭尽所能地将好的讲解呈现给读者,但也难免有疏漏和不妥之处,敬请不吝指正。若你在学习中遇到困难或疑问,或有何建议,可写信至信箱[email protected]。
编 者
第2章 初识庐山真面目—— 基础语法
Python的语言特性是简洁明了,当运行一个功能时,Python通常只使用一种固定的方式。Python虽然不像其他计算机语言有丰富的语法格式,却可以完成其他计算机语言所能完成的功能,而且更容易。本章主要讲述Python的一些基本语法。
本章要点(已掌握的,在方框中打钩)
•
了解标识符和保留字。
•
掌握定义变量的方法。
•
掌握Python的程序结构。
•
掌握Python 的数据类型。
•
掌握Python的运算符和优先级。
2.1 标识符和保留字
标识符用来识别变量、函数、类、模块以及对象的名称。Python的标识符可以包含英文字母(A~Z,a~z)、数字(0~9)及下划线符号(_),但是它有以下几个方面的限制。
(1) 标识符的第1个字符必须是字母表中字母或下划线符号,并且变量的名称之间不能有空格。
(2) Python的标识符有大小写之分,因此Data与data是不同的标识符。
(3) 在Python 3中,非ASCII标识符也被允许使用。
(4) 保留字不可以当作标识符。
保留字也叫关键字,不能把它们用作任何标识符名称。读者可以使用以下命令查看Python的保留字:
>>> import keyword
>>> keyword.kwlist
运行结果如下:
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’,
‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’,
‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’,
‘nonlocal’, ‘not’, ‘or’, ‘pass’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’,
‘yield’]
运行结果中显示了目前Python已经定义好的关键字,用户在定义标识符时要特别注意,不能和关键字重复。
2.2 变 量
在Python解释器内可以直接声明变量的名称,不必声明变量的类型,Python会自动判别变量的类型。
例如,声明一个变量x,并且赋值为1:
>>>x =1
>>>x
1
例如,声明一个变量y,并且赋值为100:
>>>y=100
>>>print(y)
100
读者可以在解释器内直接做数值计算。例如下面的加法运算:
>>>1 2
3
当用户在解释器内输入一个变量后,Python会记住这个变量的值。例如下面的运算:
>>> x=2
>>>y=x 3
>>>y
5
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
如果创建变量时没有赋值,会提示错误。例如,下面语句在没有给变量m赋值的情况下,就开始调用该变量:
>>> m
Traceback (most recent call last):
File “”, line 1, in
m
NameError: name ‘m’ is not defined
此时错误信息会显示变量m没有被定义。
在Python中,变量就是变量,它没有类型,这里所说的“类型”是变量所指的内存中对象的类型。等号用来给变量赋值。等号运算符(=)左边是一个变量名,等号运算符右边是存储在变量中的值。
Python允许用户同时为多个变量赋值。例如,下面同时为变量a、b和c赋值为1:
>>>a=b=c=1
>>>print(a,b,c)
1 1 1
在上述案例中,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
用户还可以同时为多个对象指定不同的变量值。例如,下面语句同时为变量a、b和c赋不同的变量值:
>>>a, b, c=1, 2, “山雨欲来风满楼”
>>>print(a,b,c)
1 2 山雨欲来风满楼
在该案例中,两个整型对象1和2分别分配给变量a和b,字符串对象”山雨欲来风满楼”分配给变量c。
2.3 程 序 结 构
在Python语言中,常见的程序结构如下。
1. 换行
如果是UNIX操作系统,换行字符为ASCII LF(linefeed)字符。如果是DOS/Windows操作系统,换行字符为ASCII CR LF(return linefeed)字符。如果是Mac OS操作系统,换行字符为ASCII
CR(return)字符。
例如,在Windows操作系统中换行:
>>>print (“Hello!nHow are
you”)
Hello!
How are you
2. 程序代码超过一行
如果程序代码超过一行,可以在每一行的结尾加上反斜杠(),就可以继续下一行,这与C/C 的语法相同。例如:
>>>if 1900 < year < 2100 and
1 <=month <=12
and 1 <= day <= 31 and 0 <= hour < 24
and 0 <= minute < 60 and 0 <= second < 60: #多个判断条件
每个行末的反斜杠()之后,不加注释文字。
如果是以小括号()、中括号[]或是大括号{}包含起来的语句,不必使用反斜杠()就可以直接分成数行。例如:
month_names = [‘Januari’, ‘Februari’, ‘Maart’,
‘April’, ‘Mei’, ‘Juni’,
‘Juli’, ‘Augustus’,
‘September’,
‘Oktober’, ‘November’, ‘December’]
3. 将数行表达式写成一行
如果要将数行表达式写成一行,只需在每一行的结尾加上分号(;)即可。例如:
>>>x = 10; y = 20; z = 30
>>> x
10
>>> y
20
>>> z
30
4. 注释
Python中的注释有单行注释和多行注释。Python中单行注释以#开头,例如:
# 这是一个注释
print(“Hello, World!”)
多行注释用3个单引号(”’)或者3个双引号(“””)将注释括起来。
(1) 3个单引号。
”’
这是多行注释,用3个单引号
这是多行注释,用3个单引号
这是多行注释,用3个单引号
”’
print(“这是Python语言的注释”)
(2) 3个双引号。
“””
这是多行注释,用3个双引号
这是多行注释,用3个双引号
这是多行注释,用3个双引号
“””
print(“这是Python语言的注释”)
2.4 数 据 类 型
Python 3中有6个标准的数据类型,即Number(数字)、String(字符串)、Sets(集合)、List(列表)、Tuple(元组)和Dictionary(字典)。下面分别介绍这6种数据类型的使用方法。
2.4.1
Number(数字)
Python 3支持int(整数)、float(浮点数)、bool(布尔值)、complex(复数)四种数字类型。
在Python 2中是没有bool(布尔值)的,它用数字0表示False,用1表示True。在Python 3中,把True和False定义成了关键字,但它们的值还是1和0,而且可以和数字相加。
1. int(整数)
下列是整数的案例:
>>> a = 2147483647
>>> a
2147483647
可以使用十六进制数值来表示整数,十六进制整数的表示法是在数字之前加上0x,例如0x80000000、0x100000000L。如下例所示:
>>>a=0x7FFFFFFF
>>> a
2147483647
2. float(浮点数)
浮点数的表示法可以使用小数点形式,也可以使用指数形式。指数符号可以使用字母e或是E,指数前可以使用 /-符号,也可以在指数数值前加上数值0;在整数前也可以加上数值0。下面举例说明:
3.14
10. .001 1e100
3.14E-10 1e010 08.1
使用float()内置函数,可以将整数数据类型转换成浮点数数据类型。例如:
>>> float(5)
5.0
3. bool(布尔值)
Python的布尔值包括True和False,它只和整数中的1和0有着对应的关系。例如:
>>> True==1
True
>>> True==2
False
>>> False==0
True
>>> False==-1
False
这里是利用==号判断左右两边是否相等。
4. complex(复数)
复数的表示法是使用双精度浮点数来表示实数与虚数的部分,复数的符号可以使用字母j或是J。例如,下面是复数表示:
1.5 0.5j 1J
2 1e100j 3.14e-10j
可以使用real与imag属性分别取出复数的实数与虚数部分。例如:
>>>a=1.5 0.5j
>>>a.real
1.5
>>> a.imag
0.5
>>> a
(1.5 0.5j)
可以使用complex(real,imag)函数,将real与imag两个数值转换成复数。real参数是复数的实数部分,imag参数是复数的虚数部分。例如:
>>> complex(1.5,0.5)
(1.5 0.5j)
数值之间可以通过运算符进行运算操作。例如:
>>> 5 4 #
加法
9
>>> 4.3 – 2 # 减法
2.3
>>> 3 * 7 #
乘法
21
>>> 2/4 #
除法,得到一个浮点数
0.5
>>> 2//4 #
除法,得到一个整数
0
>>> 17 % 3 # 取余
2
>>> 2 ** 5 # 乘方
32
在数字运算时,需要注意以下问题。
(1) 数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。
(2) 在整数和浮点数混合计算时,Python会把整数转换成为浮点数。
用户可以将数值使用在函数内。例如:
>>> round(12.32, 1)
12.3
可以对数值进行比较。例如:
>>>x = 2
>>>0 < x < 5
True
但是不可以对复数进行比较。例如:
>>> 0.5 1.5j < 2j
Traceback (most recent call last):
File “”, line 1, in
0.5 1.5j < 2j
TypeError: unorderable types: complex()
< complex()
用户可以将数值做位移动(shifting)或是屏蔽(masking)。例如:
>>>16 << 2
64
>>>30 & 0x1B
26
>>>2 | 5
7
>>>3 ^ 5
6
>>>~2
-3
内置的type()函数可以用来查询变量所指的对象类型。例如:
>>>a, b, c, d = 20, 5.5, True,
4 3j
>>> print(type(a), type(b),
type(c), type(d))
该案例就显示了4个变量所对应的4种数据类型。
2.4.2
String(字符串)
字符串属于序列类型(sequence type)。Python将字符串视为一连串的字符组合,例如字符串“Parrot”,在Python内部则是视为”P” “a” “r” “r”
“o” “t” 6个字符的组合。第1个字符的索引值永远是0,因此存取字符串“Parrot”的第1个字符“P”时使用”Parrot”[0],如下例所示:
>>> “Parrot”[0]
‘P’
>>> “Parrot”[1]
‘a’
在创建一个字符串时,可以将数个字符以单引号、双引号或是三引号包含起来。例如:
>>>a = ‘Parrot’
>>> a
‘Parrot’
>>>a = “Parrot”
>>>a
‘Parrot’
>>>a = ”’Parrot”’
>>>a
‘Parrot’
字符串开头与结尾的引号要一致。
下面的案例将字符串开头的引号使用双引号,结尾的引号使用单引号:
>>> a = “Parrot’
Traceback (
File “”, line 1
a
= “Parrot’
^
SyntaxError: invalid token
可见,当字符串开头与结尾的引号不一致时,Python会显示一个invalid token的错误提示信息。
评论
还没有评论。