新書推薦:
《
偿还:债务与财富的阴暗面
》
售價:NT$
374.0
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:NT$
440.0
《
封建社会农民战争问题导论(光启文库)
》
售價:NT$
319.0
《
虚弱的反攻:开禧北伐
》
售價:NT$
429.0
《
泰山:一种中国信仰专论(法国汉学经典译丛)
》
售價:NT$
380.0
《
花外集斠箋
》
售價:NT$
704.0
《
有兽焉.8
》
售價:NT$
329.0
《
大学问·明清经济史讲稿
》
售價:NT$
330.0
|
編輯推薦: |
? 彰显计算思维 语言艺术 工程规范的程序设计教育理念。
? 概念力求精准,突出思想性、启发性、本质性。
? 结构力求严谨、紧凑,便于知识总结、梳理。
? 例题力求经典,例程力求简短,便于阅读、理解。
? 素材力求丰富,创造一个良好的知识建构环境和后期学习参考。
? 习题力求丰富、多样,减轻教师开发题目的负担。
? 零起点、轻松入门、螺旋式深入,适合不同层次的教学。
? 以Python 3.6.1为蓝本,例程多在IDLE界面上调试,以便初学者快速掌握Python语法。
|
內容簡介: |
本书是一本Python基础教材。全书以Python 3.0为蓝本,分6章介绍。 第1章从模仿计算器进行简单的计算入手,带领读者迈进Python门槛;顺势引导读者掌握Python模块的用法、变量的用法;再进一步引入选择结构和重复结构,使读者有了程序和算法的基本概念,进入程序设计的殿堂。第2章首先介绍Python特有的数据对象与变量之间的关系,然后较详细地介绍了Python各种内置的数据类型。第3章从正常处理和异常处理两个角度介绍Python程序过程的两种基本组织形式:函数和异常处理,并介绍与之相关的名字空间和作用域的概念。第4章把读者从面向过程带到面向类的程序设计,内容包括类与对象、类与对象的通用属性与操作、类的继承。第5章为Python GUI开发,使读者具备开发友好界面程序的能力。第6章为Python应用开发举例,从数据处理和网络应用两个*基本应用领域,培养读者的应用开发能力。 本书力求内容精练、概念准确、代码便于阅读、习题丰富全面、适合教,也容易学;例子分正反两种,以利正本清源。为了便于初学者很快使用Python以丰富的模块支撑的环境,书后给出了Python内置函数、Python文件和目录管理、Python 3.0标准异常类体系和Python标准模块库目录。
|
目錄:
|
目录
第1章 一个万能计算器 1
1.1 简单算术计算 1
1.1.1 Python算术操作符 1
1.1.2 回显与print 2
1.1.3 Python表达式计算规则 3
练习1.1 3
1.2 使用内置数学函数计算 4
1.2.1 函数与内置函数 4
1.2.2 Python计算型内置函数对象 4
练习1.2 5
1.3 利用math模块进行计算 6
1.3.1 模块化程序设计与Python模块 6
1.3.2 导入模块或对象 6
1.3.3 math模块中的常量与函数 8
练习1.3 10
1.4 使用变量计算 11
1.4.1 数据对象、变量与赋值 11
1.4.2 几种不同的赋值方式 12
1.4.3 Python标识符与保留字 13
1.4.4 input函数 14
练习1.4 15
1.5 选择型计算 16
1.5.1 if-else型选择的基本结构 16
1.5.2 选择表达式 17
1.5.3 if-else蜕化结构 18
1.5.4 if-else嵌套 18
1.5.5 if-elif选择结构 19
练习1.5 20
1.6 重复型计算 21
1.6.1 while语句 22
1.6.2 for语句 23
1.6.3 循环嵌套 25
1.6.4 在IDLE中执行功能完整的代码段 27
1.6.5 循环中断语句与短路控制 28
练习1.6 29
1.7 穷举与迭代 30
1.7.1 穷举 30
1.7.2 迭代 32
练习1.7 37
第2章 Python数据对象 40
2.1 Python数据对象的属性 40
2.1.1 Python数据对象的类型 40
2.1.2 Python对象的身份码ID与判是操作 43
2.1.3 可变对象与不可变对象 45
2.1.4 Python数据对象生命期与垃圾回收 46
2.1.5 Python小整数对象池与大整数对象池 49
练习2.1 51
2.2 Python基本数据类型 52
2.2.1 bool类型 52
2.2.2 int类型 56
2.2.3 float类型 58
2.2.4 complex类型 59
2.2.5 Python数据类型转换 60
练习2.2 62
2.3 序列 64
2.3.1 序列对象的构建 64
2.3.2 序列通用操作 66
2.3.3 列表的个性化操作 72
练习2.3 74
2.4 字符串 77
2.4.1 字符串编码与解码 77
2.4.2 字符串的个性化操作 81
2.4.3 字符串格式化与format方法 83
2.4.4 print函数的格式控制 86
2.4.5 正则表达式 89
练习2.4 95
2.5 字典与集合 96
2.5.1 字典 96
2.5.2 集合 100
练习2.5 103
2.6 Python数据文件 106
2.6.1 数据文件概述 106
2.6.2 open函数 107
2.6.3 文件属性与方法 109
练习2.6 110
第3章 Python过程组织与管理 112
3.1 Python函数 112
3.1.1 函数及其关键环节 112
3.1.2 Python函数参数技术 116
3.1.3 Python函数的第一类对象特性 120
3.1.4 函数标注 121
3.1.5 递归 122
3.1.6 lambda表达式 125
练习3.1 125
3.2 Python异常处理 129
3.2.1 异常处理的基本思路与异常类型 129
3.2.2 try-except语句 131
3.2.3 异常类型的层次结构 133
3.2.4 else子句与finally子句 133
3.2.5 异常的人工触发:raise与assert 134
练习3.2 135
3.3 Python命名空间与作用域 136
3.3.1 Python命名空间 136
3.3.2 Python作用域 139
3.3.3 Python名字解析的LEGB规则 144
练习3.3 145
第4章 面向类的程序设计 147
4.1 类及其组成 147
4.1.1 类模型与类语法 147
4.1.2 对象的生成与_ _init_ _ 方法 150
4.1.3 最小特权原则与成员访问限制 152
4.1.4 实例方法、静态方法与类方法 155
练习4.1 157
4.2 Python类的内置属性、方法与函数 158
4.2.1 类的内置属性 158
4.2.2 获取类与对象特征的内置函数 160
4.2.3 操作符重载 163
4.2.4 Python类属性配置与管理内置方法 166
练习4.2 173
4.3 类的继承 175
4.3.1 类的继承及其关系测试 176
4.3.2 新式类与object 178
4.3.3 子类访问父类成员的规则 180
4.3.4 子类实例的初始化与super 180
练习4.3 185
第5章 Python GUI开发 188
5.1 组件、布局与事件处理 188
5.1.1 组件 188
5.1.2 布局与布局管理器 192
5.1.3 事件绑定与事件处理 195
练习5.1 200
5.2 GUI程序结构 201
5.2.1 基于tkinter的GUI开发环节 201
5.2.2 面向对象的GUI程序框架 204
练习5.2 206
5.3 GUI制作示例 206
5.3.1 Label与Button 207
5.3.2 Entry与Message 213
5.3.3 Text与滚动条 217
5.3.4 选择框 224
5.3.5 菜单 230
练习5.3 233
第6章 Python应用开发举例 234
6.1 Python数据库操作 234
6.1.1 数据库与SQL 234
6.1.2 用pyodbc访问数据库 235
6.1.3 SQLite3数据库 242
练习6.1 244
6.2 Python Socket编程 245
6.2.1 TCPIP与Socket 245
6.2.2 Socket模块与Socket对象 249
6.2.3 TCP的Python Socket编程 251
6.2.4 UDP的Python Socket编程 254
练习6.2 256
6.3 Python WWW应用开发 258
6.3.1 WWW及其关键技术 258
6.3.2 urllib模块库 264
6.3.3 urllib.parse模块与URL解析 266
6.3.4 urllib.request模块与网页抓取 267
6.3.5 网页提交表单 270
6.3.6 urllib.error模块与异常处理 271
6.3.7 webbrowser模块 272
练习6.3 273
附录 275
附录A Python内置函数 275
A.1 数学运算 275
A.2 逻辑判断 275
A.3 容器操作 276
A.4 字符串相关 276
A.5 类型转换 278
A.6 IO操作 278
A.7 反射相关 278
A.8 其他 280
附录B Python 3.0标准异常类结构(PEP 348) 280
附录C 文件与目录管理 281
C.1 文件访问函数 281
C.2 目录操作 282
C.3 获取或判断文件和路径属性的函数 282
C.4 路径操作 283
C.5 文件压缩(zipfile模块) 283
C.6 文件复制(shutil模块) 285
附录D Python标准模块库目录 285
D.1 文本 285
D.2 二进制数据 286
D.3 数据类型 286
D.4 数学 286
D.5 函数式编程 286
D.6 文件与目录 286
D.7 持久化 287
D.8 压缩 287
D.9 文件格式化 287
D.10 加密 287
D.11 操作系统工具 287
D.12 并发与并行 288
D.13 进程间通信 288
D.14 互联网相关 288
D.15 HTML与XML 289
D.16 互联网协议与支持 289
D.17 多媒体 290
D.18 国际化 290
D.19 编程框架 290
D.20 Tk图形用户接口 290
D.21 开发工具 291
D.22 调试 291
D.23 运行时 291
D.24 解释器 291
D.25 导入模块 292
D.26 Python语言 292
D.27 其他 292
D.28 Windows相关 292
D.29 UNIX相关 292
参考文献 294
|
內容試閱:
|
前言
近年来,一种程序设计语言日渐粲然,使许多红极一时的程序设计语言黯然失色,得到人们的空前青睐,使得在学界和业界出现了揭竿而起、应者云集的景象。这种程序设计语言就是Python。本书也想在此时为熊熊燃起的Python烈火再添上一把柴。
(一)
Python之所以能够冉冉升起,在于其鲜明的特色。
Python简单、易学。它虽然是用C语言写的,但是它摒弃了C语言中任性不羁的指针,降低了学习和应用的难度。
Python代码明确、优雅。其代码描述具有伪代码风格,使人容易理解;其强制缩进的规则使得代码具有极佳的可读性。
Python自由、开放。Python是FLOSS(FreeLibre and Open Source Software,自由开放源码软件)之一。它支持向不同的平台上移植,允许部分程序用应用广泛的CC语言编写;它可提供脚本功能,允许把Python程序嵌入CC程序中。它还鼓励更优秀者的创造、改进与扩张,因此使其在短短的发展历程中形成异常庞大、几乎覆盖一切应用领域的标准库和第三方库,为开发者提供了丰富的可复用资源和便利的开发环境。
(二)
为了彰显优势,Python博采众长、趋利避害,形成一套独特的语法体系。其中有些语法现象是用别的语言的语法体系解释不清楚的,强行解释反而会误导学者。本书力图正本清源,从基本理论出发,对Python的语法给出一个清晰而本原的概念和解释,以此为基础快速而扎实地将学习者带进Python应用开发中展现才干。
本书共分6章。第1章从初中水平的读者就能懂的计算开始,将读者引进Python 世界。同时,插进一些最基本的语法知识,如输入输出、变量、模块,然后通过选择和循环结构带领读者在简单算法中试水。
第2~4章在第1章的基础上深入浅出地介绍数据类型、面向过程的结构和面向对象的结构。在此期间让学习者进一步理解对象与变量、各种原子类型和内置容器类型、函数、异常处理、名字空间与作用域。
第5、6章是应用开发。第5章为Python UGI开发,第6章为Python应用开发举例。这两章的内容突出了Python应用开发的两个要素:领域知识的了解和相应模块的应用。
(三)
著名心理学家皮亚杰创建的结构主义对教师的主要职责定义是为学习者创建学习环境。教材是为学习者创建的一种学习环境。除正文的内容选择、顺序安排之外,还有例题、练习题和附录。
本书例题力求代码精干,以便读者理解。练习题是以大节为单位进行组织的,并且题型多样,针对性强,便于学习者学习某一节后,立即可以从不同角度进行检测。
鉴于已经出版的多种教材中存在的对Python基本概念解释含混,甚至错误的情况,本书还收集了一些著作中的错误概念作为反例放在相关的习题中,供读者分析、批判,以正本清源,提高读者对Python语法的辨别、理解和应用能力。
本书的附录由四部分组成:Python内置函数、Python 3.0标准异常类结构、文件与目录管理和Python标准模块库目录。这些内容相当于一个常用手册,可以为初学者提供一个继续学习或扩展学习的环境。
(四)
进行编写中,收集并设计了多种类型的习题,并且在每一节后面都给出了相应的练习题。作为Python教材,本书把附录和习题作为正文之外的两个重要的学习环境。本书的附录包括操作符、内置函数、模块目录和异常类结构。这些内容相当于一本简明的应用手册,会给想继续深入并提高自己Python开发能力的学习者提供一个扩展的环境。
这些附录也表明Python开源代码的特点和社区广大热心者的支持,是Python生命力的源泉。虽然目前Python已经有上千种模块可以被利用,而附录中列出的Python 3x的标准模块库仅有20多项,但已足以对Python的应用范围画出一个轮廓。
(五)
在本书出版之前,魏士靖细心进行了代码校验和文字校对,并制作了PPT;吴灼伟设计了书中部分插图;刘砚秋、赵忠孝、姚威、张展为、张秋菊、史林娟、张有明等也参与了部分工作。在此谨表谢意。
本书的出版是我在程序设计教学改革工作中跨上的一个新台阶。本人衷心希望得到有关专家和读者的批评和建议,也希望能多结交一些志同道合者,把本书改得更好一些。
张基温
戊戌初夏于穗小海之畔
|
|