华信教育资源网
Python程序设计方法
丛   书   名: 新工科建设之路·数据科学与大数据系列
作   译   者:姚普选 出 版 日 期:2020-09-01
出   版   社:电子工业出版社 维   护   人:孟宇 
书   代   号:G0395010 I S B N:9787121395017

图书简介:

本书以Python语言及其环境为工具,系统讲解算法的概念、程序设计的基本思想以及常用的程序设计方法。主要内容包括:程序设计基础知识与Python程序设计的基本方法;数据类型的概念及Python程序中的操作方法;算法的概念及应用;类和对象的概念及应用;用户界面设计的一般方法和技能;数据文件、数据库操作的一般方法。 本书注重程序设计理念的先进性、程序设计方法的实用性以及学习过程中的思维连贯性,精心选取必要且实用的教学内容,并根据教学或者自学过程中的实际需求进行编排和讲解。
定价 59.0
您的专属联系人更多
关注 评论(0) 分享
配套资源 图书内容 样章/电子教材 图书评价
  • 配 套 资 源

    本书资源

    会员上传本书资源

  • 图 书 内 容

    内容简介

    本书以Python语言及其环境为工具,系统讲解算法的概念、程序设计的基本思想以及常用的程序设计方法。主要内容包括:程序设计基础知识与Python程序设计的基本方法;数据类型的概念及Python程序中的操作方法;算法的概念及应用;类和对象的概念及应用;用户界面设计的一般方法和技能;数据文件、数据库操作的一般方法。 本书注重程序设计理念的先进性、程序设计方法的实用性以及学习过程中的思维连贯性,精心选取必要且实用的教学内容,并根据教学或者自学过程中的实际需求进行编排和讲解。

    图书详情

    ISBN:9787121395017
    开 本:16(185*260)
    页 数:352
    字 数:536

    本书目录

    目录
    
    
    第1章  程序及程序的运行	1
    1.1  程序及程序运行的一般方式	1
    1.1.1  程序的一般结构	1
    1.1.2  程序设计语言的种类及特点	4
    1.1.3  程序运行的一般方式	6
    1.2  Python程序设计的一般过程	9
    1.2.1  使用Python解释器执行程序	9
    1.2.2  使用集成开发环境编写Python程序	12
    1.2.3  Python程序的执行方式	14
    程序解析1	16
    程序1-1  计算并联电阻	16
    程序1-2  求解二元一次方程组	17
    程序1-3  三个整数排序	19
    实验指导1	20
    实验1-1  安装并试用Python IDLE	20
    实验1-2  编写并运行Python程序	24
    第2章  数据的计算机表示与操作	27
    2.1  数值型数据和逻辑型数据	27
    2.1.1  标识符和名字	27
    2.1.2  数字与布尔值	29
    2.1.3  数值型变量与逻辑型变量	30
    2.1.4  内存组织与变量引用	31
    2.1.5  常用内置函数	33
    2.2  数据的运算及输入/输出	35
    2.2.1  运算符与表达式	35
    2.2.2  运算顺序	38
    2.2.3  数据的输入/输出	39
    2.3  序列和字典	41
    2.3.1  字符串的种类及运算	41
    2.3.2  列表的特点及运算	43
    2.3.3  元组的特点及运算	45
    2.3.4  字典的特点及运算	46
    程序解析2	49
    程序2-1  判定一个5位或者4位整数是否为回文数	49
    程序2-2  判断某日是当年第几天	52
    程序2-3  计算购物金额	53
    实验指导2	55
    实验2-1  表达式求值	55
    实验2-2  编写并运行程序	57
    第3章  算法及程序的控制结构	60
    3.1  算法与程序设计	60
    3.1.1  算法的概念	60
    3.1.2  算法的描述	62
    3.1.3  算法的基本特征	63
    3.1.4  结构化程序设计思想	64
    3.1.5  算法中的数据处理和控制结构	66
    3.1.6  算法求解与解析解	69
    3.2  程序中的分支语句和循环语句	71
    3.2.1  分支语句	71
    3.2.2  while语句	72
    3.2.3  for语句	74
    3.2.4  循环语句和选择语句的嵌套	76
    3.2.5  循环控制语句	77
    3.3  递推和迭代	78
    3.3.1  递推法	79
    3.3.2  倒推法	80
    3.3.3  递推法与代数解法	82
    3.3.4  迭代法	83
    程序解析3	85
    程序3-1  四则算术计算器	85
    程序3-2  查找指定范围内的完全数	87
    程序3-3  约瑟夫问题	89
    程序3-4  验证哥德巴赫猜想	91
    程序3-5  求多项式的值	93
    实验指导3	95
    实验3-1  三种基本结构	95
    实验3-2  倒推法、递推法与迭代法及其他算法	98
    第4章  函数与模块	101
    4.1  函数及函数的参数	101
    4.1.1  函数的定义和调用	101
    4.1.2  参数的传递	103
    4.1.3  参数的种类	105
    4.2  函数的嵌套与递归调用	106
    4.2.1  函数的嵌套	106
    4.2.2  变量的作用域	108
    4.2.3  函数的递归调用	110
    4.2.4  递归函数	112
    4.2.5  尾递归	113
    4.3  函数式程序设计	115
    4.3.1  函数式程序中的函数	115
    4.3.2  匿名函数	117
    4.3.3  内置高阶函数	119
    4.3.4  控制结构的函数式转换	120
    4.3.5  闭包及装饰器	123
    4.3.6  迭代器与生成器	125
    4.3.7  偏函数	127
    程序解析4	128
    程序4-1  鉴别一个日期是否有效	128
    程序4-2  查找指定范围内的循环素数	130
    程序4-3  利用蒙特卡罗法计算定积分	131
    程序4-4  对数组中各元素进行二路归并排序	134
    程序4-5  通过埃拉托色尼筛法寻找指定范围内的素数	135
    程序4-6  使用装饰器检测函数的执行时间和时长	138
    实验指导4	139
    实验4-1  函数的定义和调用	139
    实验4-2  函数的嵌套与递归调用	142
    实验4-3  函数式程序设计	144
    第5章  面向对象程序设计	146
    5.1  类及类的实例	146
    5.1.1  面向对象程序设计思想	146
    5.1.2  类的定义	148
    5.1.3  类的实例	150
    5.1.4  类的私有成员	152
    5.1.5  类方法和静态方法	153
    5.2  类的继承性和多态性	155
    5.2.1  面向对象程序的特点	155
    5.2.2  类的继承	156
    5.2.3  类的组合	158
    5.2.4  类的多重继承	159
    5.2.5  函数和运算符重载	161
    5.2.6  类的多态性	164
    5.3  模块与包	167
    5.3.1  模块	167
    5.3.2  命名空间	170
    5.3.3  包	171
    程序解析5	173
    程序5-1  员工评优的命令式程序、函数式程序和面向对象程序	173
    程序5-2  组合实现点类、圆类和矩形类	176
    程序5-3  继承与组合实现通讯录类	178
    程序5-4  包含类方法和静态方法的日期类	180
    实验指导5	183
    实验5-1  类的定义及实例的操作	183
    实验5-2  类的继承性	185
    第6章  异常处理及程序调试	189
    6.1  异常处理	189
    6.1.1  处理异常情况的传统方式	189
    6.1.2  Python的异常处理机制	191
    6.1.3  异常对象及自定义异常	192
    6.2  程序的测试和调试	194
    6.2.1  程序测试方式及白盒测试用例设计	194
    6.2.2  黑盒测试及测试用例设计	196
    6.2.3  命令行参数	198
    6.2.4  使用断言调试程序	201
    6.2.5  使用日志调试程序	202
    6.2.6  使用pdb包调试程序	203
    程序解析6	205
    程序6-1  try…except结构实现的文本文件查找操作	205
    程序6-2  自定义异常——求解三角形面积	207
    程序6-3  用于逻辑覆盖测试的程序	209
    程序6-4  使用命令行参数和日志求解斐波那契序列	210
    实验指导6	213
    实验6-1  异常的捕捉与处理	213
    实验6-2  程序的测试和调试	215
    第7章  图形用户界面程序	217
    7.1  创建GUI程序	217
    7.1.1  创建GUI窗体	217
    7.1.2  控件及其属性	219
    7.1.3  控件的布局	222
    7.1.4  事件处理	223
    7.2  菜单与对话框	226
    7.2.1  菜单栏与弹出菜单	227
    7.2.2  标准消息框	229
    7.2.3  标准输入对话框	231
    7.2.4  标准文件对话框	232
    7.2.5  标准颜色对话框	234
    7.3  绘图程序	235
    7.3.1  Canvas组件	236
    7.3.2  Canvas组件的功能	237
    7.3.3  Turtle库的画图命令	239
    7.3.4  Turtle库的控制命令	240
    程序解析7	242
    程序7-1  奖金计算器	243
    程序7-2  四则运算器	245
    程序7-3  货款计算器	247
    程序7-4  画几何图形程序	249
    程序7-5  调用Tkinter库的Canvas组件画函数图像	251
    程序7-6  导入Turtle库画函数图像	253
    实验指导7	254
    实验7-1  创建GUI程序	255
    实验7-2  创建使用菜单和对话框的程序	257
    实验7-3  创建绘图程序	259
    第8章  数据查找与存取	261
    8.1  文字的计算机表示	261
    8.1.1  ASCII码	261
    8.1.2  GB 2312—80汉字编码标准	263
    8.1.3  GB 18030汉字编码标准	265
    8.1.4  Unicode标准	268
    8.1.5  Unicode字符的存储格式	270
    8.2  正则表达式	272
    8.2.1  正则表达式概念	272
    8.2.2  正则表达式模式	273
    8.2.3  正则表达式中的元字符	275
    8.2.4  正则表达式对象	277
    8.2.5  正则表达式的匹配	279
    8.2.6  正则表达式的切分、分组与替换	281
    8.3  数据文件的存取	282
    8.3.1  数据文件的概念	282
    8.3.2  文件的打开和关闭	284
    8.3.3  文件的打开模式	285
    8.3.4  文件对象的属性	287
    8.3.5  文件的读取和写入	288
    8.4  简单爬虫	289
    8.4.1  HTTP协议与URL网址	289
    8.4.2  HTTP请求与响应	290
    8.4.3  爬取静态网页	292
    8.4.4  Request对象	293
    8.4.5  爬虫基本流程	295
    程序解析8	297
    程序8-1  正则表达式的使用	298
    程序8-2  爬取一个网页上的所有批图片	299
    程序8-3  爬取同一个URL的多个分页	301
    实验指导8	303
    实验8-1  正则表达式中元字符的使用	303
    实验8-2  正则表达式的综合应用	305
    实验8-3  简单爬虫及数据文件读/写	306
    第9章  数据库连接与操纵	308
    9.1  数据库系统组成	308
    9.1.1  数据库的概念	308
    9.1.2  数据库系统的功能	310
    9.1.3  数据库系统组成	311
    9.2  数据库管理系统	313
    9.2.1  关系数据库	313
    9.2.2  数据库管理系统的功能	315
    9.2.3  常见数据库管理系统	316
    9.3  SQL及其数据库操作	318
    9.3.1  SQL的功能与特点	318
    9.3.2  SQL语句	320
    9.3.3  创建SQLite数据库	323
    9.3.4  SQLite数据库的数据查询与更新	325
    9.3.5  Python程序操作SQLite数据库	327
    程序解析9	329
    程序9-1  创建SQLite数据库	329
    程序9-2  SQLite库的数据录入	331
    程序9-3  SQLite库的数据查询	332
    实验指导9	334
    实验9-1  创建产品数据库	334
    实验9-2  产品数据库的数据录入、查询与修改	335
    参考文献	337
    展开

    前     言

    前言
    
    
    “计算机程序设计”是一门逻辑性强且需要通过实践环节来学习的课程。学生必须由浅入深地研习其内在逻辑,循序渐进地阅读足够数量的程序,独立自主地在计算机上编辑、调试和运行这些程序,并且完成课堂上或教科书上指定的其他程序设计任务,这样才能在学习和实践中逐步理解程序设计的基础知识,掌握通过特定工具(程序设计语言、软件开发环境等)进行程序设计的基本技能,同时将渐次而来的对于程序设计本质的感悟内化为自己的科学素养。有鉴于此,笔者在以前编写过多本程序设计教材的基础上,根据全国高等院校计算机教学指导委员会的相关文件及计算机基础教育的实际需求,以Python程序设计语言为载体,精心编写了这本教材。
    1.本书内容
    本书涵盖高等院校理工科程序设计课程的必要教学内容,分门别类地编排在9章之中。各章的主要内容如下。
    第1章:程序设计的基本概念及Python程序设计的一般过程。
    第2章:数据类型的概念,Python的主要数据类型:数字、字符串、序列(列表、元组)和字典及其相关表达式的概念与使用方法。
    第3章:算法的概念,算法的三种基本结构及其Python程序实现,递推法与迭代法的一般形式及其Python程序实现。
    第4章:函数的概念及其定义和调用方式,函数嵌套与递归调用方式,函数式程序设计的概念、方法及Python函数式程序设计的方法。
    第5章:类和对象的概念,类的定义、实例化及其使用方式,模块与包的概念以及常用模块与包的使用方法。
    第6章:异常处理的概念及Python异常处理的一般方式,程序测试与调试的概念及Python程序测试与调试的一般方式。
    第7章:图形用户界面程序的一般形式及工作方式,Python图形用户界面程序设计的方法,Python绘图程序设计的方法。
    第8章:文字的计算机表示方法,正则表达式的概念、构造和使用方法,数据文件的概念及其存取方法,调用urllib库的简单爬虫程序设计的一般方法。
    第9章:数据库及关系数据库的概念、工作方式,Python程序创建数据库、查询和操纵数据库中数据的方法。
    2.本书特色
    本书的特色主要体现在以下三个方面。
    (1)在选取教学内容时,注重程序设计理念的先进性和程序设计方法的实用性。
    相对于C、C++和Java等传统程序设计语言而言,Python具有灵活、方便、功能强、入手快及适应多种现实需求等突出特点。例如,在Python程序中,简单地导入某种内嵌模块,就可以轻松地完成绘制图形、获取网页数据、操纵各种不同文档等复杂任务;而使用传统程序设计语言和工具则往往要麻烦得多。本书依托完整的程序实例介绍了编写这些程序的一般方式,并在实验指导中给出详实的操作步骤,引导学生编写和运行这样的程序。
    为了加深学生对于重要知识和技能的认知,本书以灵活多样的方式引入了一些实用的程序设计技巧。例如,在讲解递归调用的方法时,简明扼要地介绍了行之有效的尾递归技术。
    (2)在编排教学内容时,注重学习过程中的思维连贯性。
    Python程序设计技术及相关联的基础知识与传统程序设计语言有较大差别。例如,Python提供了既丰富多彩又有别于传统程序设计语言的存储和处理数据的方式。本书在编排这部分内容时,尽可能照顾学生在学习过程中的思维连贯性,先就最基本的数据类型给予必要的说明,然后在其他章节中按内容递进的需求自然地引入各种常用的数据类型,并在学生具备了必要的基础知识后,详细地介绍数据类型的意义、类别及Python中各种类型数据的特殊操纵方式。这样,既可以分散难点,减少学生在学习过程中的困难,又可以加深学生对知识的理解。
    (3)在确定编写程序所依据的算法时,尽量采用那些可以从相应概念或工作原理出发而自行构拟的算法。当需要采用某种传统或者经典算法时,尽力讲清楚其内在逻辑、适用范围、优点和局限及既合理又高效的应用方式。
    例如,在确定求解某个问题的迭代法时,首先从给定的形如f(x)=0的方程式推导出形如x=g(x)的迭代式,然后构拟通过这种自行推导出来的迭代式来逐步求得x值的算法;在需要使用某种经典的迭代法时,除给出其一般形式的迭代式及使用方法外,还从其几何意义或者实际意义入手,讲解构拟这种方法的依据。
    3.本书体例
    本书兼顾各教学环节的实际需求,每章都编排了三部分内容。
    (1)基本知识:讲解程序设计基础知识、基本技能及其Python程序的实现方式。
    这些内容都是经过反复推敲而筛选出来的主要教学内容,按照教学过程中的实际需求循序渐进地编排在前2~4节之中,并尽力依托易于理解和模仿的实例讲清楚其来龙去脉。
    (2)程序解析:讲解相关程序设计任务、解决问题的思路、编写程序所依据的算法、程序的运行结果及修改或扩充程序的思路等。
    丰富多彩的程序解析内容是本书的一大特色。这些程序都经过了精心的选编、归并和讲解,作为相应章节的程序设计理念和方法的例证,可供学生研读、模仿或者改进和扩充。 
    (3)实验指导:包括验证某种概念和方法的基本实验、运用多种概念和方法的综合性实验及可能会引起思考或研究欲望的启发性实验。
    每章的实验指导也都是按照教学活动中的实际需求精心编排的。每章中均安排2~3个实验,每个实验均需要编写并运行多个程序。这些实验中的几个程序往往自成一个由浅入深、循序渐进的体系;几个实验之间构成一个紧扣相关学习内容的完整体系;每章的实验又与前、后各章内容互相照应,成为本书构拟的实验体系中不可或缺的环节。一般来说,按部就班地完成本书规定的实验任务,就可以基本掌握相应的知识和技能了。
    4.教学建议
    本书可以作为高等院校程序设计课程的教材。采用本书作为教材以56~64(包括上机时数)学时为宜。学时较少时,可以少讲或不讲后两章的某些内容,还可以少讲或不讲传统程序设计课程中不太涉及的某些算法、绘图程序及函数式程序设计等内容;学时较多时,要求学生在完成实验指导中规定的实验后调试例题和程序解析中大部分程序或者全部程序。
    另外,本书的内容选编及讲解方式也照顾到了非在校的程序设计工作人员的需求,可以作为他们在工作或学习过程中的参考书。
    5.作者愿望
    程序设计技术博大精深,涉及计算机科学、数学、工程及社会文化等各个方面的知识和技术,而且仍处于快速发展变化之中,受篇幅、时间、读者定位、程序设计语言与环境及作者的认识水平等种种限制,本书所涵盖的内容及所表达的思想可能会有所局限。因而,笔者希望传达给读者的信息是否正确或者是否得体,还要经过读者的检验。望广大读者批评指正。
    
                                                          姚普选  
                                                               2020年6月
    展开

    作者简介

    姚普选,理学硕士,高级工程师。1978年3月参加工作。1995年从西安交通大学理学院调入该校电信学院,从事计算机基础课教学工作。1996年8月退休。主讲过计算机程序设计(C++、Delphi、Visual BASIC、C#、Python等)、软件开发技术基础、大学计算机基础、微机原理及接口技术、数据库(dBASE、Access、SQL Server等)、数据结构等多门计算机课程,其中前4门都是国家级精品课程。
  • 样 章 试 读
  • 图 书 评 价 我要评论
华信教育资源网