高等教育 > 计算机基础教育

Python程序设计基础教程

书号:9787113313807 套系名称:普通高等教育“十四五”系列教材

作者:复旦大学计算机基础教学团队 出版日期:2024-08-01

定价:59.00 页码 / 开本: /16

策划编辑:翟玉峰 谢世博 责任编辑:谢世博 王占清

适用专业:计算机基础教育 适用层次:高等教育

最新印刷时间:2024-08-01

资源下载
教学课件 教学素材
习题答案 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • Python语言是一种面向对象的程序语言,具有易于学习、易于使用、易于维护、功能强大等一系列特点,在大数据与人工智能领域应用广泛。本书共分为13章,分别为程序设计概述,标准输入输出,数据类型和运算,列表基础,切片和推导式,元组、字典、集合,分支结构,循环结构,字符串,文本文件操作,正则表达式,函数,异常处理。本书结合多年的教学实践编写而成,实例丰富、语言精炼、逻辑层次清晰,适合作为普通高等院校Python程序设计相关课程的教材,也可作为相关专业人员学习Python程序设计语言的参考书。。
  • 目前,人工智能为新质生产力持续赋能,Python 作为其主流开发语言得到越来越多开发者的青睐,Python 连续多年在 TIOBE 网站的编程语言排行榜位居排名前五位。作为一门计算机编程语言,Python 支持众多应用领域的软件开发:
    ● Web 和因特网应用;
    ● 科学和数值计算;
    ● 桌面窗口应用;
    ● 软件开发管理和测试;
    ● ERP 等商业应用。
    Python 已经成为国内外很多大学的计算机专业或非计算机专业程序设计课程的教学语言,与其他编程语言相比,Python 的特点显而易见:
    ● 免费、开源、跨平台;
    ● 语法简洁清晰;
    ● 完全支持面向对象程序设计;
    ● 拥有大量的标准库和扩展库。
    章节安排
    本书依据复旦大学非计算机专业程序设计教学要求编写,重点介绍 Python 编程基础知识,全书共 13 章,内容组织如下:
    第 1 章 介绍计算机的分类、组成以及编程语言的种类;阐述对象的基础知识;展示如何安装 Python 环境以及如何运行 Python 程序;描述常用的编程规范。
    第 2 章 介绍编程中涉及的一些基本概念,包括数据类型分类、函数、表达式等;在此基础上介绍数据类型转换、序列解包等常见的数据操作方法;此外,介绍字符串的基本表示、特殊的转义字符以及多种字符串格式化方法;最后介绍标准输入输出函数。
    第 3 章 介绍简单数据类型:数字、字符串,以及这些数据类型之间可以进行的基本运算,包括算术、比较、逻辑运算,进而构成表达式。
    第 4 章 介绍操作列表元素的常用方法、排序、逆转,以及列表的浅拷贝与深拷贝。
    第 5 章 介绍三种常用的序列对象:元组、字典、集合,包括创建、访问、修改、删除以及其他操作。
    第 6 章 介绍对序列两种常用的重要操作:切片和推导式。在分别阐述切片、推导式概念的基础上,展示如何使用切片检索元素,实现对列表对象修改,以及如何使用列表推导式创建列表。
    
    第 7 章 介绍 Python 程序中控制执行流程的分支结构,也称为选择结构。
    第 8 章 介绍 Python 程序中控制执行流程的循环结构。
    第 9 章 介绍字符串的编码格式以及字符串常量的定义方法;讲解对字符串对象处理的各种操作方法。
    第 10 章 介绍文件的基本概念和分类,在此基础上阐述 Python 的文件对象及其属性;进而描述 Python 文件的打开模式,文本文件的打开、读写和关闭;最后介绍Python 中文件和目录操作函数。
    第 11 章 介绍正则表达式的语法规则,包括各类元字符的含义及使用,之后介绍Python 中两种使用正则表达式的方式:re 模块函数和正则表达式对象,并阐述对匹配结果对象的操作方法。
    第 12 章 介绍函数相关的如下内容:函数定义、函数调用、函数传参、名字空间和作用域、匿名函数的使用,装饰器、迭代器、递归函数以及常用的高阶函数。
    第 13 章 介绍 Python 中的异常处理,包括异常的概念,列举一些常见的 Python 异常,阐述对异常的处理流程,以及 raise 和断言的使用。
    本书特色
    ● 遵循 Python 3.x 语法规则 , 代码使用 Python 3.11.x 编写;
    ● 案例丰富,实用性强;
    ● 兼顾深度与广度,对 Python 内部工作原理作一定程度的介绍。
    编写分工
    本书第 1 章由肖川编写,第 2 章由荆一楠编写,第 3 章由张向东编写,第 4 章由王飞编写,第 5 章由王智慧编写,第 6 章由肖晓春编写,第 7 章由陈利锋编写,第 8章由陈伟男编写,第 9 章由李旻编写,第 10 章由刘卉编写,第 11 章由刘百祥编写,第 12 章由毛迪林编写,第 13 章由王雪平编写。
    读者对象
    ● 高校非计算机专业“Python 程序设计”相关课程的学生;
    ● Python 应用开发者;
    ● 其他对 Python 开发感兴趣的读者。
    源码课件
    本书的 Python 源码和 PPT 课件可从中国铁道出版社教育资源数字化平台(https://www.tdpress.com/51eds/)上获取。
    致谢
    感谢中国铁道出版社有限公司的各位编辑。正是他们的辛劳付出,本书才得以顺利出版。由于编者水平有限,书中难免有不足之处,还望读者海涵和指正。非常期待能够得到广大读者的反馈,在 Python 之路上互勉共进。
    编著者
    2024 年 2 月
    
    
  • 第 1 章程序设计概述.......................... 1
        1.1计算机概述................................... 1
            1.1.1计算机分类 .................................1
            1.1.2 计算机组成 .................................3
            1.1.3 操作系统 .....................................4
        1.2 程序设计语言 ............................... 5
            1.2.1程序设计语言的种类 .................5
            1.2.2高级语言的分类 .........................6
            1.2.3 Python 语言的特点 .....................7
        1.3 Python 程序的运行 ...................... 8
            1.3.1 Python 的安装 .............................9
            1.3.2交互模式运行 ........................... 11
            1.3.3脚本模式运行 ...........................14
        1.4 对象基础 .................................... 16
            1.4.1对象与类型 ...............................16
            1.4.2变量与赋值 ...............................17
            1.4.3类型检查 ...................................19
            1.4.4 等值与等同 ...............................21
        1.5 程序规范 .................................... 22
            1.5.1 模块导入 ...................................22
            1.5.2代码注释 ...................................23
            1.5.3程序错误 ...................................23
        小结 .................................................... 24
        习题 .................................................... 24
    第 2 章基本概念与标准输入输出 ... 26
        2.1 基本概念 .................................... 26
            2.1.1数据类型分类 ...........................26
            2.1.2函数简介 ...................................29
        2.2 表达式 ........................................ 30
            2.2.1表达式的概念 ...........................30
    
            2.2.2表达式执行顺序 .......................31
            2.2.3 eval() 函数 .................................32
        2.3 数据类型转换 ............................. 33
            2.3.1隐式类型转换 ...........................33
            2.3.2显式类型转换 ...........................34
        2.4 序列解包 .................................... 36
        2.5字符串与格式化 ......................... 38
            2.5.1字符串的表示 ...........................38
            2.5.2转义字符 ...................................40
            2.5.3字符串格式化 ...........................42
        2.6 输入函数 input() ......................... 45
            2.6.1函数定义与用法 .......................45
            2.6.2输入函数的返回值与类型转换 ......46
        2.7 输出函数 print() .......................... 47
            2.7.1函数定义与用法 .......................47
            2.7.2输出函数的返回值 ...................48
            2.7.3格式化输出 ...............................49
        小结 .................................................... 49
        习题 .................................................... 49
    第 3 章数据类型和运算.................... 51
        3.1 简单数据类型 ............................. 51
            3.1.1数值类型 ...................................51
            3.1.2字符串及常见操作 ...................53
            3.1.3变量及类型转换 .......................56
        3.2 Python 的基本运算和表达式 ...... 60
            3.2.1运算符 .......................................60
            3.2.2算术运算 ...................................61
            3.2.3赋值、关系和逻辑运算 ...........62
            3.2.4表达式 .......................................66
        小结 .................................................... 67
        习题 .................................................... 67
    第4章列表基础................................ 69
        4.1 列表概述 .................................... 69
        4.2 创建列表 .................................... 69
            4.2.1 list() 函数 ..................................70
            4.2.2 range() 函数 ..............................70
        4.3 列表访问与计数 ......................... 72
        4.4列表修改 .................................... 75
        4.5列表排序与反转 ......................... 76
            4.5.1列表排序 list.sort() 方法 ..........76
            4.5.2列表排序 sorted() 函数 .............76
            4.5.3列表反转 list.reverse() 方法 .....77
            4.5.4列表反转 reversed() 函数 .........77
        4.6列表删除 .................................... 78
        4.7 列表拷贝 .................................... 79
            4.7.1 浅拷贝 .......................................79
            4.7.2 深拷贝 .......................................80
        4.8 内置库函数实例 ......................... 80
        4.9 列表及多级列表的关系运算 ....... 85
        4.10 列表的实际应用案例 ................ 86
            4.10.1案例:购物清单操作 .............86
            4.10.2案例:学生信息管理 .............87
        小结 .................................................... 88
        习题 .................................................... 88
    第 5 章元组、字典、集合................ 89
        5.1 元组的概念与定义 ...................... 89
        5.2 元组的操作................................. 90
            5.2.1元组的创建 ...............................91
            5.2.2元组的访问 ...............................92
            5.2.3元组的删除 ...............................93
            5.2.4元组的其他操作 .......................93
        5.3 字典的概念与定义 ...................... 95
        5.4 字典的操作................................. 96
            5.4.1字典的创建 ...............................96
            5.4.2字典的读取 ...............................98
            5.4.3字典的添加与修改 ...................99
            5.4.4字典的删除 .............................100
            5.4.5字典的其他操作 .....................102
        5.5 集合的概念与定义 .................... 103
        5.6 集合的操作............................... 104
            5.6.1集合的创建 .............................104
            5.6.2集合的运算 .............................106
            5.6.3集合的更改 .............................108
            5.6.4集合的删除 .............................109
            5.6.5集合的其他操作 ..................... 110
        小结 ...................................................111
        习题 ...................................................111
    第 6 章切片和推导式.......................112
        6.1 切片概念 ...................................112
            6.1.1切片语法格式 ......................... 112
            6.1.2切片含义 ................................. 113
            6.1.3切片操作优点 ......................... 114
        6.2用切片检索元素 ........................114
            6.2.1 step>0 正向检索元素 ............. 114
            6.2.2 step0 正向检索元素 ............. 114
            6.2.2 step<0 逆向检索元素 ............. 117
        6.3用切片修改元素 ........................119
            6.3.1 step 等于 1...............................120
            6.3.2 step 不等于 1...........................122
            6.3.3 del 切片 ...................................123
        6.4切片实例 .................................. 124
        6.5 推导式的概念 ........................... 127
            6.5.1含一个 for/if 子句的列表推导式 ................127
            6.5.2含多个 for/if 子句的列表推导式 ................129
            6.5.3其他类型推导式 .....................130
        6.6 列表推导式的嵌套 .................... 133
        6.7 推导式实例............................... 133
        小结 .................................................. 136
        习题 .................................................. 136
    第 7 章分支结构.............................. 139
        7.1 条件表达式............................... 139
        7.2 单分支 ...................................... 143
        7.3单分支实例............................... 144
        7.4双分支 ...................................... 145
        7.5 双分支实例............................... 147
        7.6 多分支 ...................................... 149
        7.7 多分支实例............................... 151
        7.8 分支嵌套 .................................. 153
        7.9分支嵌套实例 ........................... 153
        小结 .................................................. 155
        习题 .................................................. 155
    第 8 章循环结构.............................. 157
        8.1 for 循环 .................................... 157
        8.2 while 循环 ................................ 160
        8.3 break 和 continue 语句 ............ 166
        8.4 循环嵌套和循环结构优化 ......... 172
            8.4.1 循环嵌套 .................................172
            8.4.2循环嵌套中的 break和 continue 语句 ........173
            8.4.3 循环结构优化 .........................175
        8.5 二维列表 .................................. 176
        小结 .................................................. 177
        习题 .................................................. 178
    第 9 章字符串.................................. 179
        9.1 字符编码 .................................. 179
            9.1.1字符集与编码 .........................180
            9.1.2转义序列与原始字符串 .........181
        9.2字符串常量............................... 182
        9.3 分割与连接方法 ....................... 182
            9.3.1 split()、rsplit()、partition()、rpartition() 等方法 ..................182
            9.3.2 join() 方法 ...............................183
        9.4 查找与替换方法 ....................... 184
            9.4.1 find()、rfind()、index()、rindex()、count() 等方法 ............184
            9.4.2 replace()、maketrans()、translate() 等方法 ....................184
        9.5 转换与检验方法 ....................... 185
            9.5.1 lower()、upper()、capitalize()、title()、swapcase() 等方法 .....185
            9.5.2 isalnum()、isalpha() 等方法 ...186
            9.5.3 startswith()、endswith()等方法 ..................187
        9.6 对齐与消减方法 ....................... 187
            9.6.1 center()、ljust()、rjust()、zfill() 等方法 .....187
            9.6.2 strip()、lstrip()、rstrip()等方法 ....................188
        9.7 格式化方法............................... 189
            9.7.1使用 % 运算符进行格式化 ....189
            9.7.2使用 format() 方法进行格式化 ......191
            9.7.3格式化的字符串常量 .............192
            9.7.4模板字符串 .............................192
        9.8 实例 ......................................... 193
        小结 .................................................. 194
        习题.................................................. 194
    第 10 章文本文件............................ 195
        10.1 文件概述 ................................ 195
        10.2 Python 的文件对象 ................ 198
            10.2.1文件打开和关闭 ...................198
            10.2.2文件对象的属性 ...................200
            10.2.3三种文件操作方式 ...............201
            10.2.4文件对象的常用操作 ............202
        10.3 文本文件的操作 ..................... 203
            10.3.1读文件 ...................................203
            10.3.2写文件 ...................................204
            10.3.3文件指针操作 .......................205
            10.3.4文件操作中的异常处理和错误检查 .......206
            10.3.5文件读写实例 .......................207
        10.4 文件和目录操作 ..................... 210
            10.4.1 os 模块 ..................................210
            10.4.2 shutil 模块 ............................. 211
            10.4.3文件和目录操作实例 ............212
        小结 .................................................. 213
        习题 .................................................. 213
    第 11 章正则表达式 ........................ 215
        11.1 问题的提出 ............................. 215
            11.1.1正则表达式的定义 ...............216
            11.1.2 初步练习正则表达式 .............217
        11.2 正则表达式入门 ...................... 218
            11.2.1 语法规则 ...............................218
            11.2.2 元字符与转义 .......................219
            11.2.3 规则 .......................................219
        11.3 正则表达式进阶 ...................... 222
            11.3.1 基础 .......................................222
            11.3.2 扩展 .......................................223
            11.3.3 选择 .......................................224
        11.4在 Python 中使用正则表达式 ............................. 224
            11.4.1直接使用模块函数(re) ............................224
            11.4.2 编译正则表达式对象 ...........226
            11.4.3 匹配结果对象(match object) ..................226
            11.4.4可配置选项(flags) ............227
        11.5正则表达式的实际应用案例 ..... 228
            11.5.1案例 1:复旦大学的邮箱后缀更新 ................228
            11.5.2 案例 2:日志文件中错误信息的提取 ..............229
            11.5.3案例 3:从网页代码中提取链接 ..................230
            11.5.4案例 4:验证用户输入的格式 ......................230
            11.5.5案例 5:批量重命名文件 和整理数据文件 .....231
        小结 .................................................. 232
        习题 .................................................. 232
    第 12 章函数.................................... 233
        12.1函数概述 ................................ 233
        12.2 参数传递和返回值 .................. 236
        12.3 实参和形参............................. 239
            12.3.1 函数调用的参数 ...................239
            12.3.2 默认值参数 ...........................240
            12.3.3可变长度参数 .......................242
            12.3.4 仅允许位置和关键字参数传递的形参 .......243
            12.3.5 函数调用的序列解包 ...........245
        12.3.6 类型提示 ...............................246
        12.4 名字空间 ................................ 247
        12.5 装饰器 .................................... 252
        12.6 lambda 表达式 ....................... 253
        12.7 高阶函数 ................................ 254
            12.7.1 map()、filter() 和 reduce()函数 ......254
            12.7.2 sorted() 函数 ..........................256
            12.7.3生成器函数 ...........................260
        12.8 递归函数 ................................ 262
        小结 .................................................. 265
        习题 .................................................. 266
    第 13 章异常处理的组成................ 272
        13.1 异常的定义............................. 272
        13.2 常见异常类............................. 273
        13.3 异常处理的组成 ..................... 275
        13.4 try 语句的变体 ........................ 278
        13.5 引发异常 ................................ 279
            13.5.1 引发异常的形式 ...................279
            13.5.2引发自定义异常 ...................282
            13.5.3 决定何时引发异常 ...............283
        13.6 异常处理方式 ......................... 283
        13.7断言 ....................................... 285
            13.7.1断言的作用 ...........................285
            13.7.2禁用断言 ...............................287
            13.7.3 使用断言的陷阱 ...................288
        小结 .................................................. 288
        习题 .................................................. 289
    参考文献.............................................. 290
    
    
    
  • 复旦大学计算机基础教学团队,成员均为复旦大学计算机学院的中、高级职称教师,专业知识深厚,教学经验丰富,富有敬业精神和责任心。教学团队长期承担复旦大学本科生通识教育计算机基础课程的教学,包括Python程序设计、VB.NET程序设计、C程序设计等。教学中坚持理论与实践相结合、通识与专业相结合、传统与创新相结合,按期完成教学工作;并积极开展教学研究,已建设多门校级精品课程,出版多本教材。
  • ● 遵循 Python 3.x 语法规则 , 代码使用 Python 3.11.x 编写;
    ● 案例丰富,实用性强;
    ● 兼顾深度与广度,对 Python 内部工作原理作一定程度的介绍。