【假一罚四】Python大学教程张基温
集团直发,全新正版书籍,假一罚四,放心选购。24小时内发货。
¥
55.6
8.1折
¥
69
全新
库存3件
作者张基温
出版社清华大学出版社
ISBN9787302504542
出版时间2018-08
装帧平装
开本16开
定价69元
货号25344261
上书时间2024-11-22
商品详情
- 品相描述:全新
- 商品描述
-
前言
前 言
(一)
在多年从事C语言、C 和Java教学工作中,少不了有学生要求解释如fun(i ,i )这样的问题。有时,到外校进行学术交流时,也不乏同行教师问到这个问题。我感觉,能问到这个问题的学生,无疑是好学生。因为,这个问题虽小,但要解释清楚它,需要涉及非定义行为、赋值表达式的副作用、序列点、程序设计风格等方面的概念,这些概念在相关教材中几乎不见提到,许多教师也不清楚。更让我吃惊的是,当我给一位从事了30多年C与C 教学的大学副教授讲赋值表达式的副作用时,他竟然回了我一句:“我不这样认为。”这足以说明问题的严重性了。
实际上,与其说是赋值操作的副作用,不如说是“变量”的副作用。这似乎是一个不可逾越的鸿沟。因为“值的变化”是变量的基本性质。然而,这个问题在Python中被解决了,因为它的数据多数属于不可变类型。对于不可变类型的变量赋值,就成为引用指向另外一个对象了。这确实是Python的一大突破。Python有许多让人耳目一新的特点,正是这些特点,使它得到了快速推广,并赢得广泛的支持。
2017年7月19日,IEEE(美国电气电子工程师学会)出版的旗舰杂志IEEE Spectrum发布了第4届编程语言交互排行榜。这个排行榜由读者需求、用户增速、开源、设计自由度、雇主需求5个子排行榜组成。其中,前4个子排行榜中都是Python力压群雄,只有雇主需求一榜位于C和Java之后,排名第三。图1为IEEE Spectrum 2017 编程语言 Top 10 排名情况。
图1 IEEE Spectrum 2017编程语言Top 10排名情况
据 IEEE Spectrum介绍,这个排行依据数据记者 Nick Diakopoulos 提供的数据,结合 10 个线上数据源的 12 个标准,对 48 种语言进行了排行。因为不可能顾及每一个程序员的想法,IEEE Spectrum使用多样化、可交互的指标权重来评测每一种语言的现行使用情况。显然,这个排行的客观性、权威性是极高的。
另一个影响极大的程序设计语言排行榜是TIOBE。TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、百度)以及Wikipedia、Amazon、YouTube统计出排名数据,但只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,也不反映就同一算法使用不同语言编写时代码数量多少。表1是其2017年10月发布的Top 10榜单。可以看出,Python虽位居第5,但它有上升趋势,而前4名均有下降趋势。
表1 TIOBE 2017年10月发布的程序设计语言Top 10榜单
2017年10月
2016年10月
变化
编程语言
评级/%
变化/%
1
1
Java
12.431
-6.37
2
2
C
8.374
-1.46
3
3
C
5.007
-0.79
4
4
C#
3.858
-0.51
5
5
Python
3.803
0.03
6
6
JavaScript
3.010
0.26
7
7
PHP
2.790
0.05
8
8
Visual Basic .NET
2.735
0.08
9
11
↑
Assembly language
2.374
0.14
10
13
↑
Ruby
2.324
0.32
(二)
Python应用广泛,所包含的内容自然也十分广泛。但是作为关于Python的基础教程,不可能把所有内容都包含进来,甚至不可能包含较多的内容,内容选择非常重要。作者经过反复斟酌,决定采取以Python核心语法为重心,添加关键性的、基础性的应用型内容。后,将应用型内容圈定在数据处理、网络编程和GUI设计3个方面,并把全书按照7个单元进行组织。前4个单元为Python的核心语法知识,后3个单元为3个应用 方面。
第1单元介绍Python的基本知识,内容包括Python的特点、数据对象、变量、输入输出等,使读者对Python有初步了解。
第2单元为Python程序结构,内容包括选择结构、循环结构、函数、模块、异常 处理。
第3单元为容器,内容包括序列容器、无序容器、迭代器、生成器与推导表达式。
第4单元为面向类的程序设计,内容包括类与对象、类与对象的通用属性与操作、类的继承。
第5单元为Python数据处理,内容包括文件操作、数据库操作、文件与目录管理。
第6单元为Python网络编程,内容包括Python Socket编程、Python WWW开发。
第7单元为Python GUI开发,内容包括GUI三要素、GUI程序结构、GUI制作 示例。
著名心理学家皮亚杰创建的结构主义,把教师的主要职责定义为为学习者创建学习环境。作为Python教材,本书把附录和习题作为正文之外的两个重要的学习环境。本书的附录包括Python运算符、Python内置函数、Python标准模块库目录和Python 3.0标准异常类结构。
除了语言的内核和内置函数,模块是Python的支撑。在Python中,每一项应用都要由相应的模块支持。每一个应用程序的开发都需要按照“熟悉领域知识—导入相关模块—设计相应算法—编写相应代码”的过程。由于Python开源代码的特点和社区广大热心者的支持,目前Python已经有上千的模块可以利用。读者知道哪些模块可用,不仅可以开阔思路,而且可以浏览这些模块目录得到通向该应用领域的线索。不过,要把这些模块全罗列出来不仅没有必要,也没有可能。这是将Python 3.0标准模块库目录作为附录的原因。虽然仅仅只有29项,但足可以对Python的应用范围画出一个轮廓。
习题也是重要的学习环境。为此本书收集并设计了多种类型的习题,并且在每节后面都给出相应的练习题。本书习题量虽多,却还是无法满足不同的练习需要。希望学习者和使用本书的老师们,不要囿于本书给出的习题,要开发出更多课后练习,开辟更好的Python学习环境。还需要说明的是,不是每一个题目都能直接在正文中找到答案。要找到正确的答案,需要深刻理解基本概念,或需要自己设计一些代码测试分析。这样才能培养出举一反三的能力、创新的能力。
本书所有例题都在Python 3.6.1的交互环境中调试。本书也推荐在Python 3.0的交互环境平台上教学或自学,在交互式环境中学习,有利于立即发现错误和理解错误原因。为便于阅读,文中将系统输出的内容用蓝色印出。其中,蓝色粗体为出错信息(在IDLE中是红色)。
(三)
教材是教学的剧本,是学习的向导。要编写一本好的教材,不仅需要对本课程涉及内容有深刻的了解和感悟,还要熟悉相关领域的知识,更要不断探讨和深化贯穿其中的教学理念和教育思想,写教材是件很难的事情。特别是在不断的写作中,常感到自己知识和能力的不足。由于是已经有了一些想法才开始写作的,又不忍将这些想法隐藏起来,还由于已经得到一些亲朋的支持和鼓励,也不忍辜负他们的一片热情,只能硬着头皮写下去,也幸有他们的帮助,才后得以完成本书。在本书的写作过程中,赵忠孝教授、姚威博士、张展为博士,以及魏士婧、刘砚秋、张秋菊、史林娟、张有明、戴璐、张展赫、吴灼伟(插图)等参加了有关部分的编写工作,在此谨表谢意。
本书就要出版了。它的出版,是我在这项教学改革工作中跨上的一个新台阶。本人衷心希望得到有关专家和读者的批评与建议,也希望能多结交一些志同道合者,把这本书改得更好。
张基温
丁酉菊月于穗小海之畔??
??
??
??
??
·IV·
·I·
导语摘要
本书是高等学校Python基础课程的教材。全书由7个单元组成。第1单元介绍Python的基本知识,内容包括Python的特点、数据对象、变量、输入输出等,使读者对Python有一个初步了解;第2单元为Python程序结构,内容包括选择结构、循环结构、函数、模块、异常处理等;第3单元为容器,内容包括序列容器、无序容器、迭代器、生成器与推导表达式;第4单元为面向类的程序设计,内容包括类与对象、类与对象的通用属性与操作、类的继承;第5单元为Python数据处理,内容包括文件操作、数据库操作、文件与目录管理;第6单元为Python网络编程,内容包括Python Socket编程、Python WWW应用开发;第7单元为Python GUI开发,内容包括GUI三要素、GUI程序结构、GUI制作示例。 本书力求内容精练、概念准确、代码便于阅读、习题丰富全面、适合教也容易学。为了便于初学者很快能使用以丰富的模块支撑的Python环境,书后给出了Python运算符、Python内置函数、Python标准模块库目录和Python 3.0标准异常类结构。 本书适合作为高等学校零基础开设Python课程的教材,也适合作为程序设计爱好者和有关专业人员学习的参考书。
作者简介
张基温,研究和教学领域涉及计算机科学与技术、信息管理、信息经济学、电子政务与电子商务、新媒体、服务科学,发表论文百余篇,出版著作百余种;先后担任名古屋大学访问学者,山西财经大学、江南大学、华东政法大学、福建工程学院、晋城学院、广西职业技术学院等多所大学的专职、客座或兼职教授,北京大学博雅方略城市发展与信息化研究中心研究员,南京大学出版社总编顾问,太原高新技术区IT研究院实验室主任,山西省紧缺人才专家委员会副主任等职,中国信息经济学会常务理事,全国高等院校计算机基础教育研究会常务理事兼课程建设委员会副主任,中国计算机学会教育专业委员会委员,教育部NIT考试委员会委员,江苏省计算机基础教学指导委员会委员,山西省新世纪专家学者协会副会长;为清华大学出版社、电子工业出版社、中国水利水电出版社、南京大学出版社等出版社主编了信息管理与信息系统专业、计算机实验与实践、大学生信息素养等多个系列教材。在面向过程程序设计教学领域,从20世纪80年代初就开始进行有关研究和改革,尝试将软件工程方法和算法思想引入程序设计,倡导“程序设计=计算思维+语言艺术+工程规范”的程序设计教育理念,推行“以思维训练为核心,程序测试与程序设计并行”、“前期重在逻辑思维和方法训练、语法够用就行;后期进行语法细节补充”的程序设计课程教学方法。他主笔并与他人联合署名的《C语言程序设计教程》是重量十一五规划教材,并于2007年被评为重量精品教材。
目录
目录
第1单元 Python起步 1
1.1 程序设计语言与Python 1
1.1.1 计算机程序设计语言 1
1.1.2 高级程序设计语言分类 3
1.1.3 Python及其特点 6
1.1.4 Python模块与脚本文件 8
练习1.1 11
1.2 Python数值对象类型 12
1.2.1 Python数据类型 12
1.2.2 Python内置数值类型 13
1.2.3 Decimal和Fraction 15
练习1.2 16
1.3 Python数据对象、变量与赋值 17
1.3.1 Python可变对象与不可变对象 17
1.3.2 Python变量与赋值操作 18
1.3.3 Python垃圾回收与对象生命期 21
1.3.4 Python标识符与保留字 22
练习1.3 23
1.4 数值计算——计算器 24
1.4.1 内置算术操作符与算术表达式 24
1.4.2 内置数学函数 27
1.4.3 math模块 29
练习1.4 31
1.5 输入与输出 32
1.5.1 回显与print()函数的基本用法 32
1.5.2 转义字符与print()函数的格式控制 33
1.5.3 input()函数 37
练习1.5 37
第2单元 Python程序结构 38
2.1 命题与判断 39
2.1.1 布尔类型 39
2.1.2 比较表达式 39
2.1.3 逻辑表达式 40
2.1.4 身份判定操作 43
练习2.1 43
2.2 选择结构 45
2.2.1 if-else型选择结构 45
2.2.2 if-else嵌套与if-elif选择结构 47
练习2.2 49
2.3 循环结构 50
2.3.1 while语句 51
2.3.2 for语句 52
2.3.3 循环嵌套 54
2.3.4 循环中断与短路控制 56
2.3.5 穷举 59
2.3.6 迭代 61
2.3.7 确定性模拟 66
2.3.8 随机模拟与random模块 68
练习2.3 71
2.4 函数 73
2.4.1 函数调用、定义与返回 73
2.4.2 基于函数的变量作用域 77
2.4.3 函数参数技术 79
2.4.4 函数标注 83
2.4.5 递归 84
2.4.6 lambda表达式 88
练习2.4 89
2.5 程序异常处理 92
2.5.1 异常处理的基本思路与异常类型 93
2.5.2 try-except语句 94
2.5.3 控制异常捕获范围 96
2.5.4 else子句与finally子句 96
2.5.5 异常的人工显式触发:raise与assert 97
练习2.5 98
第3单元 容器 100
3.1 序列容器 100
3.1.1 序列对象的构建 100
3.1.2 序列通用操作 102
3.1.3 列表的个性化操作 108
3.1.4 字符串的个性化操作 111
3.1.5 字符串编码与解码 114
3.1.6 字符串格式化与format()方法 116
3.1.7 正则表达式 119
练习3.1 125
3.2 无序容器 129
3.2.1 字典 129
3.2.2 集合 132
练习3.2 135
3.3 迭代器、生成器与推导表达式 138
3.3.1 迭代器 138
3.3.2 生成器 139
3.3.3 推导表达式 144
练习3.3 147
第4单元 面向类的程序设计 150
4.1 类及其组成 150
4.1.1 类模型及其语法 150
4.1.2 类对象、实例对象与__init__ ()方法 152
4.1.3 小特权原则与对象成员访问限制 155
4.1.4 实例方法、静态方法与类方法 158
练习4.1 159
4.2 Python内置的类属性、方法与函数
— 没有更多了 —
以下为对购买帮助不大的评价