整理的文章内容主要来源为高教版《计算机等级考试二级 Python》教程视频讲义,并且更正了原讲义中的错误的地方。
专栏文章索引如下:
考试大纲
第 1 章 程序设计基本方法
第 2 章 Python 语言基本语法元素
第 3 章 基本数据类型
第 4 章 程序的控制结构
第 5 章 函数和代码复用
第 6 章 组合数据类型
第 7 章 文件和数据格式化
第 8 章 Python 计算生态
第 9 章 Python 标准库概览
第 10 章 Python 第三方库使用
第 11 章 Python 第三方库纵览
第 8 章 Python 计算生态
1. 计算生态
近 20 年的开源运动产生了深植于各个信息技术领域的大量可重用资源,直接且有力地支撑了信息技术超越其他技术领域的发展速度,形成了计算生态,产业界广泛利用可重用资源快速构建应用已经是主流的产品开发方式。Python 语言从诞生之初就致力于开源开放,建立全球最大的编程计算生态。
Python 官方网站提供了第三方库索引功能:
http://pypi.python.org/pypi
该页面列出了 Python 语言十几万个第三方库的基本信息,这些函数库覆盖了信息领域所有技术方向。这里需要说明的是,Python 语言的函数库并非都采用 Python 语言编写。由于 Python 有非常简单灵活的编程模式,很多采用 C、C++ 等语言编写的专业库可以经过简单的接口封装 Python 语言程序调用。这样的黏性功能使得 Python 语言成了各类编程语言之间的接口,Python 语言也被称为“胶水语言”。
正是因为 Python 语言有了胶水的黏性,围绕它迅速形成了全球最大的编程语言开放社区,建立了十几万个第三方库的庞大规模,构建了计算生态。
30 年前,计算机领域还处于刀耕火种的年代,编程程序仅能调用官方提供的 API 功能,20 年前,随着开源运动的兴起和蓬勃发展,一批开源项目诞生,降低了专业人士编写程序的难度,实现了专业级别的代码复用。10 年前,开源运动深入发展,专业人士开始大量贡献各领域最优秀的研究和开发成果,并通过开源库形式发布出来。那今天呢?编程领域形成了庞大的计算生态,需要一种编程语言或方式能够将不同语言、不同特点、不同使用方式的代码统一起来,历史选择了 Python 语言,Python 语言也证明了它的价值。
Python 第三方程序包括(库)、模块和程序包等多种命名,这些概念之间略有却别,在本教程中我们统一将这些可复用的代码统称为“库”。
1.1 Python 标准库
有一部分 Python 计算生态随 Python 安装包一起发布,用户可以随时使用,被称为 Python 标准库。受限于 Python 安装包的设定大小,标准库数量不会很多,270 个左右。Python 标准库一般会安装在 Lib 目录下。
C:\Users\Administrator\AppData\Local\Programs\Python\Python38
部分 Python 标准库由 PSF(Python 软件基金会)运行维护,但大部分 Python 标准库仍然由最初的开发者维护。
1.2 Python 第三方库
更广泛的 Python 计算生态采用额外安装方式服务用户,被称为 Python 第三方库。这些第三方库由全球各行业专家、工程师和爱好者开发,没有顶层设计,由开发者采用“尽力而为”的方式维护。Python 通过新一代安装工具 pip 管理大部分 Python 第三方库的安装。
2. 基本的 Python 内置函数
序号 | 函数名称 | 描述 |
---|---|---|
1 | abs(x) | x 的绝对值。如果 x 是复数,返回复数的模 |
2 | all(x) | 组合类型变量 x 中所有元素都为真时返回 True, 否则返回 False; 若 x 为空,返回 True |
3 | any(x) | 组合类型变量 x 中任一元素都为真时返回 True, 否则返回 False; 若 x 为空,返回 True |
4 | bin(x) | 将整数 x 转换为等值的二进制字符串,如 bin(1010) 的结果是 ’0b1111110010’ |
5 | bool(x) | 将 x 转换为 Boolean 类型,即 True 或 False. 如 bool(‘’) 的结果是 False |
6 | chr(x) | 返回 Unicode 为 i 的字符。如 chr(97) 的结果是 ’a’ |
7 | complex(r,i) | 创建一个复数 r + i*1j, 其中i可以省略。如 complex(10,10) 的结果是 10+10j |
8 | dict() | 创建字典类型。如 dict() 的结果是一个空字典 {} |
9 | divmod(a,b) | 返回 a 和 b 的商及余数。如 divmod(10,3) 结果是一个 (3,1) |
10 | eval(s) | 计算字符串 s 作为 Python 表达式的值。如 eval(‘1+99’) 的结果是 100 |
11 | exec(s) | 计算字符串作为 Python 语句的值。如 exec(‘a=1+99’) 的结果是 100 |
12 | float(x) | 将 x 转换为浮点数,如 float(1010) 的结果是 1010.0 |
13 | hex(x) | 将整数转换为 16 进制字符串。如 hex(1010) 的结果是 ’0x3f2’ |
14 | input(x) | 获取用户输入,其中 s 是字符串,作为提示信息。s 可选 |
15 | int(x) | 将 x 转换成整数。如 int(9.9) 的结果是 9 |
16 | len(x) | 计算变量 x 的长度。如 len(range(10)) 的结果是 10 |
17 | list(x) | 创建或将变量 x 转换成一个列表类型。如 list(10,9,8) 的结果是 [8,9,10] |
18 | max(a1,a2,…) | 返回参数的最大值。如 max(1,2,3) 的结果是 3 |
19 | min(a1,a2,…) | 返回参数的最小值。如 min(1,2,3) 的结果是 1 |
20 | oct(x) | 将整数 x 转换成等值的八进制字符串形式。如 oct(1010) 的结果是 ’0o1762’ |
21 | pow(x,y) | 返回 x 的 y 次幂。如 pow(2,3) 的结果是 8 |
22 | range(a,b,s) | 从 a 到 b(不含 b)以 s 为步长生成一列数字,如 list(range(1,10,4)) 的结果是 [1,5,9] |
23 | reversed(l) | 返回组合类型 l 的逆序迭代形式。如 for i in reversed(1,2,3) 将逆序迭代列表 |
24 | round(n) | 四舍五入方式计算 n. 如 round(10.6) 的结果是 11 |
25 | print(x) | 打印变量或字符串 x. print() 的 end 参数用来表示输出的结尾字符,默认为换行符 |
26 | set(x) | 将组合数据类型 x 转换成集合类型。如 set([1,1,1]) 的结果是集合 (1,1,1) |
27 | sorted(x) | 对组合数据类型 x 进行排序,默认从小到大。如 sorted(3,2,1) 排序后的结果是 [1,2,3] |
28 | str(x) | 将 x 转换为等值的字符串,如 str(0x1010) 的结果是 ’4112’ |
29 | sum(x) | 对组合数据类型 x 计算求和结果。如 sum([1,2,3]) 的结果是 6 |
30 | type(x) | 返回变量 x 的数据类型。如 type({1:2}) 的结果是 <class ‘dict’> |
3. 选择题
(1)以下代码的运行结果为(A)
counter = 1
def doLotsOfStuff()
global counter
for i in (1,2,3):
counter += 1
doLotsOfStuff()
print(counter)
- A. 4
- B. 5
- C. 1
- D. 代码错误
(2)在程序设计范畴,计算思维不包括以下哪一项?(D)
- A. 理解问题的计算特性
- B. 将计算特性抽象为计算问题
- C. 通过程序设计语言实现问题的自动求解
- D. 以推理和演绎为特征的逻辑思维
(3)以下描述中与计算思维相关的是(C)
- A. 通过总结与归纳,推测事件的发展走向
- B. 通过分析与推理,找到语言逻辑中的漏洞
- C. 通过程序解决一个计算复杂的问题
- D. 通过逻辑推理,分析悬疑小说中的谜
(4)以下选项中分别表示程序设计和执行方式的是(A)
- A. 自顶向下,自底向上
- B. 自底向上,自顶向下
- C. 自顶向下,自顶向下
- D. 自底向上,自底向上
(5)以下不是自顶向下设计方式步骤的是(B)
- A. 将算法表达为一系列小问题
- B. 通过单元测试方法分解问题来运行和调试程序
- C. 通过将算法表达为接口关联的多个小问题来细化算法
- D. 为每个小问题设计程序接口
(6)关于测试一个中等规模程序的说法,以下错误的是(C)
- A. 从结构图最底层开始,逐步上升
- B. 先运行和测试每一个基础函数,再测试由基础函数组成的整体函数
- C. 直接运行程序
- D. 采用自底向上的执行方式
(7)以下选项中最能体现计算机中算法含义的是(D)
- A. 数学的计算公式
- B. 程序设计语言的语句序列
- C. 对问题的精确描述
- D. 解决问题的精确步骤
(8)以下不属于 Python 标准库的是(C)
- A. time
- B. random
- C. networks
- D. optparse
(9)以下选项中是 Python 第三方库的是(B)
- A. turtle
- B. pyinstaller
- C. random
- D. math
(10)以下选项中不是 Python 内置函数的是(C)
- A. hex()
- B. all()
- C. char()
- D. sorted()
PDF 讲义下载链接如下:
链接:https://pan.baidu.com/s/1rc8d2_mmtci0o5vtCSl6rg