编辑推荐
目前,市面上可供选择的Python语言的书籍数目众多。区别于其他很多只是简单介绍Python语言本身的书籍,《Python编程与问题求解》在介绍Python使用方法的同时还插入了很多在实际开发过程中可能遇到的相关实例,使得枯燥的语法学习变得生动有趣,理论联系实际也可以让读者提前了解Python在实际项目中的应用。俗话说实践出真知,如果说学习编程有什么捷径的话,那必然是多动手实践。学习编程的真正价值也在于运用,读者可通过每个章节后的练习题,进一步扎实掌握相应章节的知识点。
《Python编程与问题求解/国外计算机科学经典教材》特色
《Python编程与问题求解》可以确保读者平稳顺利地成为一名Python专家。《Python编程与问题求解》全篇使用由易到难、易于学习的方式。《Python编程与问题求解》中所有的章节都强调通过解决问题来学习的观念。Python的每个特性都会通过一个完整的程序示例来深入讲解其用法。有些概念在需要时会使用图形方式来解释,从而可以帮助你更好地理解其中含义。《Python编程与问题求解》呈现了当代流行的编程方法并实现了理论和实践的有效结合。
《Python编程与问题求解/国外计算机科学经典教材》所有内容都遵循通用的结构,为教师和学生提供了大量学习和评估的工具。
内容简介
《Python编程与问题求解》的突出特点包括以下几个方面:
《Python编程与问题求解》使用从下至上的方法来解释概念。
附录中会对算法和流程图进行额外的讨论。
《Python编程与问题求解》通篇提供带注释的代码来阐述Python多种特性的用法。
独立于正文的补充信息和重要提示包含在特殊的方框中,开头以“注意”标明。
每章末尾的需要牢记的知识点总结了重要知识点,方便读者回顾学过的知识点。
书中每个小节之后的小测试能帮助读者评估学习成果。
每章中的关键术语会罗列在章末。
章末的复习题包含了多选题的题干和答案、简答题以及程序题,可以帮助读者检测相关概念的理解程度。
作者简介
EBalagurusamy,现在是印度哥印拜陀市EBG基金会的主席。过去他还出任过新德里公
用事业委员会成员以及泰米尔纳德邦钦奈的安娜大学副校长。他是信息技术与管理领域的
教师、培训师以及顾问。他拥有北阿坎德邦鲁尔基的印度技术学院颁发的电子工程荣誉学
位以及系统工程博士学位。他感兴趣的研究领域包括面向对象的软件工程、电子政务(科
技化管理)、商业流程重建以及总体质量管理。
作为一位多产的作家,他已经编写了大量的学术论文以及一些书籍。他*畅销的著作
包括:
●
ProgramminginANSIC,7/e
●
FundamentalsofComputers
●
ComputingFundamentalsandCProgramming
●
ProgramminginC#,3/e
●
ProgramminginJava,5/e
●
Object-OrientedProgrammingwithC++,5/e
●
ProgramminginBASIC,3/e
●
NumericalMethods
●
ReliabilityEngineering
作为无数荣誉与奖项的获得者,他已经被列入Who’sWhoofIntellectuals以及杰出教育
领袖名录。
精彩书评
★对于Python编程新手而言,《Python编程与问题求解/国外计算机科学经典教材》无疑是极优秀的学习手册!
——Trivandrum工程学院AbdulNizarM.博士目录
目录
第1章电子计算机简介·························1
1.1简介················································1
1.2冯·诺依曼理念····························3
1.2.1计算机的简单模型·····················4
1.2.2电子计算机的组成·····················4
1.3存储器············································6
1.3.1主存储器·····································7
1.3.2辅助存储器·································8
1.3.3寄存器·········································9
1.4编程语言······································10
1.4.1高级语言··································11
1.4.2汇编语言··································11
1.4.3机器语言··································11
1.5翻译器··········································12
1.5.1编译器······································12
1.5.2汇编器······································12
1.5.3解释器······································12
1.6硬件和软件··································13
1.6.1硬件··········································13
1.6.2软件··········································13
1.7操作系统······································14
1.8本章要点······································15
1.9关键术语······································16
1.10复习题········································17
第2章解决问题的策略························21
2.1分析问题······································21
2.1.1问题的正式定义······················21
2.1.2解决问题的方法论··················22
2.2算法··············································22
2.3流程图··········································24
2.4算法以及流程图示例··················28
2.5本章要点······································33
2.6关键术语······································33
2.7复习题··········································34
第3章Python入门·····························37
3.1引言··············································37
3.2Python概述···································37
3.3启动Python的三种不同方式·······38
3.4注释··············································43
3.5Python标识符·······························43
3.6保留关键字··································44
3.7变量··············································44
3.7.1声明变量··································44
3.7.2初始化变量······························44
3.8标准的数据类型··························46
3.8.1数字型······································46
3.8.2字符串······································47
3.8.3列表··········································48
3.8.4元组··········································49
3.8.5字典··········································50
3.8.6布尔型······································50
3.8.7集合··········································50
3.9运算符··········································52
3.9.1算术运算符······························53
3.9.2比较运算符······························54
3.9.3赋值运算符······························55
3.9.4位运算符··································56
3.9.5逻辑运算符······························58
3.9.6隶属运算符······························58
3.9.7恒等运算符······························59
3.9.8运算符优先级··························60
3.9.9结合性······································61
3.10语句与表达式····························63
3.10.1语句········································63
3.10.2表达式····································63
3.11字符串运算································64
3.11.1连接运算·································65
3.11.2重复运算·································65
3.11.3获取具体字符·························65
3.11.4分片·········································65
3.12布尔表达式································67
3.13控制语句····································67
3.13.1for循环····································67
3.13.2while语句·······························70
3.13.3ifelifelse语句·······················72
3.13.4选择执行································73
3.13.5条件执行································73
3.14迭代——while语句·················74
3.15从键盘获取输入························76
3.15.1input()函数······························76
3.15.2raw_input()函数······················77
3.16本章要点····································77
3.17关键术语····································79
3.18复习题········································79
第4章函数··········································85
4.1简介··············································85
4.2内置函数······································85
4.2.1类型转换··································86
4.2.2强制类型转换··························87
4.2.3数学函数··································88
4.2.4日期和时间······························89
4.2.5dir()函数···································90
4.2.6help()函数·································91
4.3复合函数······································91
4.4用户自定义函数··························92
4.5参数··············································95
4.6函数的调用··································99
4.7return语句···································100
4.8Python的递归函数·····················101
4.9匿名函数····································101
4.10编写Python脚本·······················103
4.11本章要点··································105
4.12关键术语··································106
4.13复习题······································107
第5章字符串和列表·························115
5.1字符串········································115
5.1.1混合数据类型························116
5.1.2len函数····································117
5.1.3字符串切片····························118
5.1.4字符串是不可变的················119
5.1.5字符串遍历····························120
5.1.6转义字符································122
5.1.7字符串格式化操作符············123
5.1.8字符串格式化函数················124
5.2列表············································127
5.2.1值和访问元素························127
5.2.2列表是可变的·······················129
5.2.3列表的遍历····························131
5.2.4删除列表中的元素················132
5.2.5内置的list操作符····················133
5.2.6list内置方法····························134
5.3本章要点····································136
5.4关键术语····································137
5.5复习题········································137
第6章元组和字典·····························151
6.1元组············································151
6.1.1创建元组································151
6.1.2访问元组中的元素················152
6.1.3元组是不可变的····················154
6.1.4元组赋值································154
6.1.5元组作为返回值····················156
6.1.6变长元组参数························157
6.1.7基本的元组操作····················158
6.1.8内置的元组函数····················160
6.2字典············································162
6.2.1创建字典································162
6.2.2访问字典中的值····················163
6.2.3更新字典································164
6.2.4删除字典中的元素················165
6.2.5字典键的属性························166
6.2.6字典操作································167
6.2.7内置的字典方法····················168
6.3本章要点····································169
6.4关键术语····································170
6.5复习题········································171
第7章文件和异常·····························183
7.1文本文件····································183
7.1.1打开文件································183
7.1.2关闭文件································185
7.1.3file对象属性···························186
7.1.4写文件····································187
7.1.5读取文件································188
7.1.6文件的重命名························190
7.1.7删除文件································190
7.1.8操作文件的方法····················191
7.2目录············································192
7.2.1mkdir()方法····························192
7.2.2chdir()方法······························193
7.2.3getcwd()方法··························193
7.2.4rmdir()方法·····························193
7.3异常············································195
7.3.1内置异常································195
7.3.2异常处理································196
7.4带有参数的异常························200
7.5用户自定义异常························201
7.6关键术语····································203
7.7复习题········································204
第8章类和对象································215
8.1面向对象概述
(面向对象编程)··························215
8.1.1数据封装································216
8.1.2多态········································216
8.2类定义········································217
8.3创建对象····································218
8.4对象作为参数····························221
8.5对象作为返回值························222
8.6内置的类属性····························223
8.7继承············································225
8.8方法重写····································228
8.9数据封装····································229
8.10数据隐藏··································230
8.11本章要点··································232
8.12关键术语··································233
8.13复习题······································234
附录A使用算法和流程图进行练习···243
附录B使用算法和伪代码
解决问题的练习题··················297
附录C基本标准库模块·····················321