计算机类教材 > 算法与程序设计

Python程序设计

书号:9787113298937 套系名称:普通高等院校“十四五”计算机基础系列教材

作者:苏虹 王鹏远 李萍 等 出版日期:2023-02-01

定价:53.00 页码 / 开本:无 /16

策划编辑:韩从付 责任编辑:刘丽丽

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

最新印刷时间:

资源下载
教学课件(暂无) 教学素材(暂无)
习题答案(暂无) 教学案例(暂无)
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  • 随着 Python 程序设计语言在科研、电子、政务、数据分析、Web、金融、图像处理、 AI 技术等各方面的广泛应用,开设与 Python 程序设计语言课程相关的高等学校越来越多。
    
    本书详细地介绍了 Python 语言程序设计的基本原理和方法。全书共分 15 章,包括 Python 概述、Python 数据类型与表达式、程序流程控制、列表与元组、字典与集合、函数与模块、字符串与正则表达式、错误和异常处理、文件及目录操作、Python 的数据库编程、面向对象程序设计、tkinter 图形界面设计、网络爬虫入门、Python 科学计算与数据分析、数据可视化matplotlib 等。
    
    本书适合作为普通高等学校各专业学生的程序设计课程教材,也可作为编程爱好者的自学参考读物。
  • Python 语言是当下非常热门的一种编程语言。2021 年 10 月,语言流行指数的编译器TIOBE 编程语言排行榜将 Python 语言评选为最受欢迎的编程语言,20 年来首次将其置于Java、C 和 JavaScript 之上。随着 Python 扩展库的不断发展壮大,Python 在科研、电子、政务、数据分析、Web、金融、图像处理、AI 技术等各方面都有强大的类库、框架和解决方案。我们国家这两年对人工智能、大数据的重视,更大大地促进了 Python 语言在国内的发展。
    
    对于非计算机专业的学生来说,用 Python 作为程序设计语言启蒙是非常好的选择。Python 语言的优势在于比 C++/Java 等传统静态语言更具有实用性,不局限在繁杂的语法里,可以专注于程序设计思想及计算思维的训练。
    
    本书的编者全部是一直工作于高等学校教学一线、承担程序设计课程教学多年的教师,有着丰富的教学和编程经验。程序设计课程有着理论与实践紧密结合的特点。程序不是看会的,而是动手编会的。学习程序设计的过程是一个学习者与教师、学习者与教材交互的过程,这需要有一本好的教材,再遵照一定的学习规律来很好地完成。本书的编写参考多个高等院校程序设计课程教学大纲,与教育部高等学校大学计算机课程教学指导委员会对程序设计课程的要求保持高度一致,章节结构安排合理,内容层次分明,从认识、了解、掌握、应用等几个层次,由浅入深、循序渐进地组织内容,有助于学生快速掌握知识要点。书中的实例都是精心挑选和设计的,具有新颖性、代表性、典型性,并且在 Python 3.9 以上版本中全部调试通过。Python 3.9 以上版本是全国计算机等级考试二级 Python 推荐使用的版本。
    
    本书着重介绍核心语法,以培养编程能力为首要目标,力求较全面地介绍 Python 程序设计语言的知识点,使本书成为学习者的第一本程序设计参考书。本书共分 15 章,每个章节既有逻辑清晰的语法讲解,又有丰富的编程实例,有助于培养、训练编程初学者的计算思维模式。
    
    本书主要内容如下:
    
    第 1 章 Python 概述,简要介绍了 Python 的发展、特点、版本,以及本书使用的 Python 开发环境、简单 Python 程序的基本结构和语法规则,并且说明了编码的概念,这些都是后面章节学习的前提。
    
    第 2 章 Python 数据类型与表达式,介绍了 Python 程序设计语言的基本知识,着重介绍了Python 使用的各种数据类型、运算符、表达式及常用的系统函数和数据的输入/输出。本章知识点多且琐碎、枯燥,但它是学习编程的基础。
    
    第 3 章 程序流程控制,介绍了选择结构、循环结构和复合语句,这些是结构化程序设计的基本结构。
    
    第 4 章 列表与元组,介绍了 Python 语言中列表和元组的创建、元素引用、相关内置函数的操作、列表推导式和生成品推导式的使用等,并结合具体使用实例帮助读者理解。
    
    第 5 章 字典与集合,介绍了字典与集合的概念,以及字典与集合的创建、元素引用、
    
    相关运算符与内置函数的操作、常用的方法等,并配有相关实例操作。
    
    第 6 章 函数与模块,介绍了函数的定义与调用、函数的参数传递、函数的返回值,以及变量作用域、递归函数、内嵌函数、模块等基本概念,使读者能够综合使用函数来解决实际问题,从而提高应用的模块性和代码重用性。
    
    第 7 章 字符串与正则表达式,介绍了字符串的创建、索引、编码、运算符和内置函数对字符串的操作、字符串对象的常用方法等,还介绍了正则表达式的基本概念、元字符、常用的正则表达式、正则表达式模块等,并以应用实例帮助读者进一步理解和使用正则表达式。
    
    第 8 章 错误和异常处理,介绍了常见的程序错误及解决方法、异常处理的 try...except语句,以及断言处理的 assert 语句和 AssertionError 类。
    
    第 9 章 文件及目录操作,介绍了文件的概念以及文件的使用、读/写操作、jieba 库的使用、CSV 文件的读/写操作,使读者了解 Python 中关于文件的操作。
    
    第 10 章 Python 的数据库编程,介绍数据库的基本知识、结构化查询语言(SQL)、Python 自带的关系型数据库 SQLite 的基本操作。
    
    第 11 章 面向对象程序设计,介绍了面向对象程序设计的基本概念,介绍了类与对象的定义、创建和使用,还介绍了属性和方法、继承和多态,并给出相应的面向对象的编程实例供读者理解学习。
    
    第 12 章 tkinter 图形界面设计,介绍了 Python 中用于创建图形化用户界面的 tkinter库,介绍了如何创建 Windows 窗口、常用 tkinter 组件的使用以及 Python 事件处理,并用实例帮助读者学习使用。
    
    第 13 章 网络爬虫入门,介绍了相关 HTTP 知识、urllib 基本应用与爬虫案例、requests基本操作与爬虫案例、Beautiful Soup 基本操作与爬虫案例,给出多个案例帮助读者深入学习。
    
    第 14 章 Python 科学计算与数据分析,介绍了 NumPy 科学计算库及其扩展库 pandas的基本使用。
    
    第 15 章 数据可视化 matplotlib,介绍了数据可视化的基本概念,以及 matplotlib 绘图库的基本使用。
    
    以上各部分都可以独立教学,自成体系,读者可根据学习时间、专业情况、设计要求适当选取章节进行阅读学习。
    
    本书由郑州轻工业大学的苏虹、王鹏远、李萍、孙占锋、韩怿冰和高璐编著。各章编著分工如下:第 1、12 章由王鹏远编著,第 2、4、11 章由苏虹编著,第 3、5、8 章由李萍编著,第 7、13 章由韩怿冰编著,第 9、14、15 章由孙占锋编著,第 6、10 章由高璐编著。王鹏远负责本书的架构计划,苏虹和孙占锋负责本书的统稿工作。本书的编写得到众多同行的鼎力支持,在此一并表示感谢。本书的编写和出版过程得到了郑州轻工业大学和中国铁道出版社有限公司的大力支持和帮助,在此由衷地向他们表示感谢。
    
    由于学识所限,加之时间仓促,书中难免存在疏漏之处,恳请各位读者批评指正。
    
    编 者
    
    2022 年 11 月
  • 第 1 章 Python 概述 ..........................1
    
    1.1 Python 简介 ............................ 1
    
    1.1.1 Python 的由来与发展...... 1
    
    1.1.2 Python 的特点 ................. 2
    
    1.1.3 Python 的应用领域 ......... 3
    
    1.1.4 Python 的版本 ................. 3
    
    1.2 Python 开发环境 ..................... 4
    
    1.2.1 Python 语言解释器的下载与安装 ..................... 4
    
    1.2.2 Python 的开发环境介绍 ..... 7
    
    1.2.3 标准库 ............................ 9
    
    1.2.4 模块和第三方库 ........... 14
    
    1.3 Python 基础 .......................... 14
    
    1.3.1 一个简单的 Python 程序 .............................. 14
    
    1.3.2 Python 程序语法元素分析 .............................. 14
    
    1.4 字符编码............................... 18
    
    1.4.1 ASCII 编码 ................... 19
    
    1.4.2 Unicode 编码 ................ 19
    
    1.4.3 UTF-8 编码 ................... 20
    
    1.4.4 GB 2312 编码................ 20
    
    1.4.5 BIG5 编码 ..................... 20
    
    1.4.6 GBK 编码 ..................... 20
    
    1.4.7 编码转换 ...................... 20
    
    1.4.8 Python 中的字符编码.... 21
    
    习 题....................................... 21
    
    第 2 章 Python 数据类型与表达式 ....23
    
    2.1 数据类型............................... 23
    
    2.1.1 数值类型 ...................... 23
    
    2.1.2 字符串类型 ................... 24
    
    2.1.3 布尔类型....................... 28
    
    2.1.4 复合数据类型 ............... 29
    
    2.2 运算符与表达式.................... 30
    
    2.2.1 算术运算符 ................... 30
    
    2.2.2 比较运算符 ................... 31
    
    2.2.3 赋值运算符 ................... 32
    
    2.2.4 位运算符....................... 32
    
    2.2.5 逻辑运算符 ................... 33
    
    2.2.6 成员运算符 ................... 34
    
    2.2.7 身份运算符 ................... 34
    
    2.2.8 运算优先级 ................... 35
    
    2.2.9 表达式 .......................... 36
    
    2.3 数据的输入/输出 .................. 37
    
    2.3.1 数据的输入 ................... 37
    
    2.3.2 数据的格式化输出 ........ 38
    
    习 题....................................... 40
    
    第 3 章 程序流程控制......................41
    
    3.1 程序控制流程概述 ................ 41
    
    3.1.1 条件 .............................. 42
    
    3.1.2 缩进与复合语句 ............ 42
    
    3.2 选择结构............................... 43
    
    3.2.1 单分支选择结构............ 43
    
    3.2.2 双分支选择结构............ 43
    
    3.2.3 多分支选择结构............ 44
    
    3.2.4 选择结构的嵌套............ 46
    
    3.2.5 选择结构程序举例 ........ 47
    
    3.3 循环结构............................... 48
    
    3.3.1 迭代与可迭代对象 ........ 49
    
    3.3.2 for 循环......................... 49
    
    3.3.3 while 循环 ..................... 51
    
    3.3.4 循环控制语句 ............... 53
    
    3.3.5 循环中的 else 子句........ 54
    
    3.3.6 循环的嵌套 ................... 54
    
    3.3.7 循环结构程序举例 ........ 56
    
    习 题....................................... 57
    
    第 4 章 列表与元组 .........................58
    
    4.1 列 表 .............................. 58
    
    4.1.1 列表的创建方式............ 58
    
    4.1.2 列表元素的访问............ 59
    
    4.1.3 对列表元素的增加、删除、修改 .............................. 61
    
    4.1.4 运算符对列表的操作 .... 63
    
    4.1.5 内置函数对列表的操作 .............................. 64
    
    4.1.6 列表对象的常用方法 .... 65
    
    4.1.7 列表推导式 ................... 65
    
    4.2 元 组 .............................. 66
    
    4.2.1 元组的创建方式............ 66
    
    4.2.2 列表元素的访问............ 67
    
    4.2.3 元组的常用操作............ 68
    
    4.2.4 生成器推导式 ............... 70
    
    4.2.5 元组的特性 ................... 70
    
    4.3 应用举例............................... 71
    
    习 题....................................... 73
    
    第 5 章 字典与集合 .........................75
    
    5.1 字 典 .............................. 75
    
    5.1.1 字典概述 ...................... 75
    
    5.1.2 字典的创建 ................... 75
    
    5.1.3 字典的基本操作 ........... 76
    
    5.1.4 字典的常用方法............ 78
    
    5.1.5 运算符对字典的操作 .... 81
    
    5.1.6 内置函数对字典的操作 .............................. 82
    
    5.1.7 字典推导式 ................... 82
    
    5.1.8 字典的遍历 ................... 83
    
    5.2 集 合 .............................. 84
    
    5.2.1 可变集合的创建与删除 .......................... 84
    
    5.2.2 集合的运算 ................... 85
    
    5.2.3 内置函数对集合的操作 .............................. 86
    
    5.2.4 可变集合的常用方法 .... 87
    
    5.2.5 集合的遍历和推导式 .... 88
    
    5.3 应用举例............................... 89
    
    习 题....................................... 91
    
    第 6 章 函数与模块 .........................93
    
    6.1 函数的定义与调用 ................ 93
    
    6.1.1 函数的定义 ................... 93
    
    6.1.2 函数的调用 ................... 95
    
    6.1.3 lambda 表达式 .............. 96
    
    6.2 函数的参数 ........................... 97
    
    6.2.1 Python 函数参数的传递 .............................. 98
    
    6.2.2 实参指向可变对象 ........ 99
    
    6.2.3 参数的类型 ................. 100
    
    6.3 函数的返回值 ..................... 103
    
    6.3.1 指定返回值与隐含返回值 ........................ 103
    
    6.3.2 return 语句位置与多条return 语句 .................. 103
    
    6.3.3 返回值类型 ................. 105
    
    6.4 变量的作用域 ..................... 106
    
    6.4.1 Python 的局部变量 ..... 106
    
    6.4.2 Python 的全局变量 ..... 107
    
    6.4.3 获取指定作用域范围中的变量..................... 107
    
    6.5 递归函数............................. 109
    
    6.6 高阶函数..............................111
    
    6.6.1 高阶函数的概念...........111
    
    6.6.2 常用的高阶函数...........111
    
    6.7 Python 模块及导入方法 ...... 115
    
    6.8 代码复用与模块化设计 .......116
    
    6.9 函数式编程..........................116
    
    习 题......................................117
    
    第 7 章 字符串与正则表达式 .........121
    
    7.1 字 符 串 ............................ 121
    
    7.1.1 特殊字符和字符串 ...... 121
    
    7.1.2 内置函数对字符串的操作 ............................ 122
    
    7.1.3 字符串的遍历与切片 ... 123
    
    7.1.4 字符串对象的常用方法 ............................ 124
    
    7.1.5 字符串常量 ................. 128
    
    7.1.6 字符串应用举例 ......... 128
    
    7.2 正则表达式 ......................... 130
    
    7.2.1 正则表达式语言概述 ... 130
    
    7.2.2 正则表达式元字符 ...... 131
    
    7.2.3 预定义字符集 ............. 133
    
    7.2.4 常用的正则表达式 ...... 133
    
    7.2.5 正则表达式模块 re...... 134
    
    7.3 应用举例............................. 140
    
    习 题..................................... 141
    
    第 8 章 错误和异常处理 ................143
    
    8.1 程序的错误......................... 143
    
    8.1.1 语法错误 .................... 143
    
    8.1.2 运行错误 .................... 143
    
    8.1.3 逻辑错误 .................... 144
    
    8.2 异常处理 ............................ 144
    
    8.2.1 异常概念 .................... 144
    
    8.2.2 try…except 语句 ......... 146
    
    8.2.3 try…except 语句的嵌套....149
    
    8.2.4 使用 as 获取异常信息提示 ............................ 149
    
    8.2.5 使用 raise 语句抛出异常 ............................ 151
    
    8.3 断言处理............................. 152
    
    8.3.1 断言处理概述 ............. 152
    
    8.3.2 assert 语句和 AssertionError 类 .... 152
    
    习 题..................................... 153
    
    第 9 章 文件及目录操作 ................154
    
    9.1 文件概述............................. 154
    
    9.2 文件的打开与关闭 .............. 154
    
    9.2.1 打开文件..................... 154
    
    9.2.2 关闭文件..................... 156
    
    9.2.3 上下文关联语句.......... 156
    
    9.3 文本文件的读/写 ................ 157
    
    9.3.1 读取文本文件 ............. 157
    
    9.3.2 文本文件的写入 .......... 158
    
    9.3.3 文件内移动 ................. 159
    
    9.3.4 文本文件与 jieba 库 .... 161
    
    9.4 二进制文件的读/写 ............. 163
    
    9.4.1 使用 pickle 模块读/写二进制文件 ................. 163
    
    9.4.2 使用 struct 模块读/写二进制文件 ................. 164
    
    9.5 CSV 文件的读/写 ................ 165
    
    9.5.1 CSV 文件简介 ............. 165
    
    9.5.2 读取 CSV 文件 ............ 166
    
    9.5.3 写入 CSV 文件 ............ 167
    
    9.6 JSON 文件的读/写 .............. 167
    
    9.6.1 JSON 文件简介 ........... 167
    
    9.6.2 JSON 数据的编码与解码 ........................ 168
    
    9.7 os 模 块............................. 170
    
    9.7.1 常用的 os 模块命令 .... 170
    
    9.7.2 文件重命名与删除 ...... 170
    
    9.7.3 文件夹操作 ................. 170
    
    9.8 应用举例............................. 172
    
    习 题..................................... 173
    
    第 10 章 Python 的数据库编程 ......174
    
    10.1 数据库技术概述 ................ 174
    
    10.1.1 数据库基本概念........ 174
    
    10.1.2 关系数据库 ............... 175
    
    10.1.3 Python 的 SQLite3  模块 .......................... 176
    
    10.2 结构化查询语言 SQL........ 176
    
    10.2.1 数据表的创建、删除 和修改 ...................... 177
    
    10.2.2 数据更新................... 178
    
    10.2.3 数据查询................... 180
    
    10.3 SQLite 数据库 ................... 180
    
    10.3.1 SQLite 数据库简介 ... 180
    
    10.3.2 SQLite 数据库的 安装 .......................... 181
    
    10.3.3 SQLite 数据库的常用 命令 .......................... 183
    
    10.3.4 SQLite3 的存储类 ..... 183
    
    10.3.5 SQLite3 的常用函数 ... 184
    
    10.3.6 SQLite3 的运算符 ..... 184
    
    10.3.7 SQLite3 模块中的 对象 .......................... 187
    
    10.3.8 SQLite3 创建数据库 ... 187
    
    10.4 使用 SQLite3 模块访问 SQLite 数据库 ................... 188
    
    10.4.1 访问 SQLite 数据库的 步骤 .......................... 188
    
    10.4.2 使用 SQLite3 模块创建 数据库和表 ............... 189
    
    10.4.3 数据库的插入、查询、 更新和删除操作 ....... 190
    
    习 题..................................... 193
    
    第 11 章 面向对象程序设计...........194
    
    11.1 面向对象程序设计基础..... 194
    
    11.1.1 面向过程程序设计与面向对象程序设计 .... 194
    
    11.1.2 面向对象的基本概念 .......................... 195
    
    11.2 类与对象 ........................... 197
    
    11.2.1 类的定义 ................... 197
    
    11.2.2 对象的创建与使用 .... 197
    
    11.3 属 性 .......................... 198
    
    11.3.1 类属性、对象属性和实例属性 ............... 198
    
    11.3.2 私有属性和公有属性 .......................... 200
    
    11.4 方 法 .......................... 201
    
    11.4.1 实例方法 ................... 201
    
    11.4.2 构造方法与析构方法 .......................... 202
    
    11.4.3 类方法 ....................... 203
    
    11.4.4 静态方法 ................... 204
    
    11.4.5 私有方法与公有方法 .......................... 205
    
    11.5 继承和多态 ....................... 206
    
    11.5.1 继 承 .................. 206
    
    11.5.2 多 态 .................. 208
    
    11.6 应用举例 ........................... 209
    
    习 题..................................... 211
    
    第 12 章 tkinter 图形界面设计 .......214
    
    12.1 窗体控件布局.................... 214
    
    12.1.1 创建根窗体 ............... 215
    
    12.1.2 几何布局管理器 ........ 215
    
    12.2 常用的 tkinter 控件 ........... 219
    
    12.2.1 常见控件概述 ........... 219
    
    12.2.2 控件的共同属性........ 220
    
    12.2.3 标签(Label) .......... 221
    
    12.2.4 按钮(Button)......... 222
    
    12.2.5 单行文本框(Entry)和多行文本框(Text).... 223
    
    12.2.6 列表框(Listbox).... 225
    
    12.2.7 单选按钮(Radiobutton)和复选框(Checkbutton)... 225
    
    12.2.8 组合框(Combobox) .. 228
    
    12.2.9 滑块(Scale)........... 229
    
    12.2.10 滚动条(Scrollbar) ... 231
    
    12.2.11 框架(Frame)........ 232
    
    12.2.12 子窗体(Toplevel) ... 234
    
    12.3 对 话 框 .......................... 235
    
    12.3.1 消息对话框(Messagebox) ........ 235
    
    12.3.2 输入对话框(Simpledialog) ....... 237
    
    12.3.3 文件对话框(Filedialog)............ 238
    
    12.3.4 颜色选择对话框(Colorchooser) ....... 239
    
    12.4 菜 单 .......................... 240
    
    12.5 Python 事件处理 ............... 244
    
    12.5.1 事件类型................... 244
    
    12.5.2 事件绑定................... 245
    
    12.5.3 事件处理函数 ........... 246
    
    习 题..................................... 246
    
    第 13 章 网络爬虫入门..................248
    
    13.1 相关 HTTP 协议知识 ........ 248
    
    13.1.1 HTTP 基础 ................ 248
    
    13.1.2 HTML 基础 ............... 249
    
    13.1.3 JavaScript 基础 ......... 251
    
    13.2 urllib 基本应用与爬虫案例 .................................. 252
    
    13.2.1 urllib 基本应用 ......... 252
    
    13.2.2 urllib 爬虫案例 ......... 254
    
    13.3 requests 基本操作与爬虫 案例 ................................... 255
    
    13.3.1 requests 基本操作 ..... 256
    
    13.3.2 requests 爬虫案例 ..... 257
    
    13.4 Beautiful Soup 基本操作与爬虫案例 ....................... 258
    
    13.4.1 Beautiful Soup 基本应用 .......................... 259
    
    13.4.2 Beautiful Soup 爬虫案例 .......................... 260
    
    13.4.3 数据爬取 ................... 261
    
    习 题..................................... 263
    
    第 14 章 Python 科学计算与数据分析 ................................264
    
    14.1 NumPy .............................. 264
    
    14.1.1 NumPy 数组属性 ....... 264
    
    14.1.2 数组的创建 ............... 265
    
    14.1.3 切片和索引 ............... 271
    
    14.1.4 数组常用操作 ........... 273
    
    14.1.5 数组的分隔 ............... 276
    
    14.1.6 通用函数 ................... 278
    
    14.1.7 广播机制 ................... 283
    
    14.2 pandas ............................... 284
    
    14.2.1 数据结构 ................... 284
    
    14.2.2 数据读/写.................. 289
    
    14.2.3 数据处理 ................... 293
    
    14.2.4 数据分析 ................... 298
    
    14.2.5 数据可视化 ............... 299
    
    习 题..................................... 300
    
    第 15 章 数据可视化 matplotlib .....301
    
    15.1 绘图入门........................... 301
    
    15.2 绘制多子图 ....................... 306
    
    15.3 绘制散点图 ....................... 309
    
    15.4 绘制饼状图 ....................... 309
    
    15.5 绘制柱状图 ....................... 311
    
    15.6 绘制三维图形 ................... 311
    
    习 题..................................... 312
    
    参考文献.........................................313
  • 苏虹,硕士,讲师,任教于郑州轻工业学院工程训练中心计算机基础教学部,研究方向:计算机应用技术。主讲计算机应用基础、大学计算机、程序设计技术(C语言)、程序设计技术(Python)等课程,参编《大学计算机》《大学计算机实践教程》《C语言程序设计》《C语言程序设计实践教程》《VB程序设计》《VB程序设计实践教程》等,参与省级精品课程、省级精品课程共享课建设等省级、校级教改项目。 
    
    王鹏远,硕士,讲师,郑州轻工业学院工程训练中心计算机基础教学部主任,从事计算机基础课程教学,包括计算机应用基础、大学计算机、程序设计技术(C语言)、程序设计技术(Python)、计算图形学等。参编《大学计算机》《大学计算机实践教程》《大学计算机教程》《大学计算机学习与实践指导》《C语言程序设计》《C语言程序设计实践教程》等,参编其他教材10余部。从事计算机图形学、地理信息系统、虚拟现实等研究工作。
    
    李萍,硕士,讲师,任教于郑州轻工业学院工程训练中心计算机基础教学部,主讲大学计算机基础、数据库、Python等课程,研究方向计算机应用。 
  • ①架构合理,覆盖面较广,注重培养学生拓展程序设计思维。
    
     ②各章配有习题,配套实践教材,有助于培养学生的计算机信息技术中的程序设计、编写和开发能力。