关于计算机二级的零碎知识点
1 线性链表
的存储空间不一定连续,且各元素的存储顺序是任意的。
2 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构。
3 软件危机
是指落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。(软件开发生产率低、软件质量难以控制、软件成本不断提高)
4 软件工程师应用于计算机软件的定义、开发和维护的一整套方案、工具、文档和实践标准和工序。
5 软件工程的三个要素:过程
& 工具
& 方法
6 软件工程分哪几个阶段&各个阶段的主要工作:
a. 定义阶段:可行性研究初步项目计划、需求分析
b. 开发阶段:概要设计、详细设计、实现、测试
c. 运行和维护阶段:运行、维护、废弃
7 软件测试的目的是发现程序中的错误。
8 软件的生命周期是指软件的产生直到报废的生命周期。
9 层次模型
用树形结构
表示实体之间的联系。
10 继承
是指类之间共享属性和操作的机制。
11 Python变量命名规则
a. 只能包含字母、数字和下划线,且不能以数字开头
b. 区分字母大小写
c. 禁止使用保留字(关键字)
12 Python命名惯例
a. 以单一下划线开头的变量名(_ x)不会被 from module import
∗
*
∗语句导入
b. 前后有下环线的变量名(_ x _ )是系统定义的变量名,对Python解释器有特殊意义
c. 以两个下划线开头但结尾没有下划线的变量名(__x)是类的成员变量
d. 交互式模式下,变量名"_"用于保存最后表达式的结果
e. Python变量是弱类型
13 divmod() 函数
把除数和余数运算结果结合起来,返回一个包含商和余数的元组。divmod(a, b) = (a // b, a % b)。
14 ord(s) 函数返回字符s的Unicode编码值。
15 PyInstall库
是使Python脚本程序
转变为可执行程序
的第三方库 。
16 关于算法:
算法的基本要素包括数据对象的运算操作
及算法的控制结构
。
算法是指解题方案的准确而完整的描述。
算法复杂度是指算法在编写成可执行程序后,运行时所需要的资源(时间资源和内存资源)。算法复杂度分为时间复杂度和空间复杂度。
算法的特征:可行性、确定性、有穷性(基本特征)、输入项、输出项
可行性(effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行操作步骤的,即每个计算步骤都可以在有限时间内完成,也称有效性。
确定性(definiteness):算法的每一步骤必须有确切的定义,也称确切性。
有穷性(finiteness):算法必须能再执行有限各步骤后终止。
一个算法有零或多个输入,一或多个输出,没有输出的算法是毫无意义的。
17 关于数据结构:
数据结构指相互有关联的数据元素的集合。
数据的存储结构是指数据的逻辑结构在计算机中的表示。
数据的逻辑结构值反映数据元素之间逻辑关系的数据结构,其中的逻辑关系是指数据元素之间的前后关系,而与他们在计算机中的存储位置无关。逻辑结构包括集合结构、线性结构、树形结构和图形结构。
18 结构化程序设计方法原则:逐步求精、自顶向下、模块化
19 eval 函数的作用是将输入的字符串转换为 python 语句,并执行该语句。
20 查看 python 版本:
import sys
print(sys.version)
21 python 数据分析方向的第三方库:Numpy、Pandas、SciPy;
机器学习方向的第三方库: TensorFlow、sklearn、Scikit-learn、MXNet;
web开发方向的第三方库:Django、Flask、Pyramid;
文本处理方向的第三方库:PyPDF2、NLTK、Python-docx;
图像处理方向的第三方库:PIL;
HTML 和 XML 解析(Web信息提取方向)的第三方库:Beautiful Soup、Re、Python-Goose
22 数据库系统的核心是数据库管理系统
。
数据库设计是数据库应用的核心。
数据可以设计可以采用生命周期法。
数据库设计的基本任务是根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式。
23 数据库设计的六个阶段:
系统需求分析阶段
⇒
\Rightarrow
⇒ 概念结构设计阶段
⇒
\Rightarrow
⇒ 逻辑结构设计阶段
⇒
\Rightarrow
⇒ 物理结构设计阶段
⇒
\Rightarrow
⇒ 数据库实施阶段
⇒
\Rightarrow
⇒ 数据库运行与维护阶段
数据库设计中,反映用户对数据要求的模式是外模式。
24 以下选项描述错误的是:
DBMS是数据库系统。DCL是数据控制语言。DDL是数据定义语言。DML是数据操纵语言。
25 编译是将源代码转换成目标代码的过程。
C语言是静态语言,Python 是脚本语言。
计
算
机
编
程
语
言
{
机
器
语
言
汇
编
语
言
高
级
语
言
{
按
转
换
方
式
{
编
译
型
语
言
解
释
型
语
言
混
合
型
语
言
按
运
行
时
结
构
是
否
可
变
{
静
态
语
言
动
态
语
言
按
数
据
类
型
是
否
被
忽
略
{
强
类
型
语
言
弱
类
型
语
言
按
客
观
系
统
的
描
述
{
面
向
过
程
语
言
面
向
对
象
语
言
按
编
程
范
型
{
命
令
式
语
言
函
数
式
语
言
逻
辑
式
语
言
面
向
对
象
语
言
计算机编程语言\left\{\begin{aligned} &机器语言\\ &汇编语言\\ &高级语言\left\{\begin{aligned} &按转换方式\left\{\begin{aligned} 编译型语言\\ 解释型语言\\ 混合型语言\\ \end{aligned}\right.\\ &按运行时结构是否可变\left\{\begin{aligned} 静态语言\\ 动态语言\\ \end{aligned}\right.\\ &按数据类型是否被忽略\left\{\begin{aligned} 强类型语言\\ 弱类型语言\\ \end{aligned}\right.\\ &按客观系统的描述\left\{\begin{aligned} 面向过程语言\\ 面向对象语言\\ \end{aligned}\right.\\ &按编程范型\left\{\begin{aligned} &命令式语言\\ &函数式语言\\ &逻辑式语言\\ &面向对象语言 \end{aligned}\right.\\ \end{aligned}\right. \end{aligned}\right.
计算机编程语言⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧机器语言汇编语言高级语言⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧按转换方式⎩⎪⎨⎪⎧编译型语言解释型语言混合型语言按运行时结构是否可变{静态语言动态语言按数据类型是否被忽略{强类型语言弱类型语言按客观系统的描述{面向过程语言面向对象语言按编程范型⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧命令式语言函数式语言逻辑式语言面向对象语言
26 Python 的变量,随时命名,随时赋值,随时使用
27 数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
28 PFD是一种工艺流程图,主要体现各物料的走向,物料平衡、还标注一些压力、温度等参数。通过PFD能更直观的理解工艺。
29 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送消息
。
30 常用排序算法:选择排序 & 冒泡排序 & 插入排序 & 归并排序 &快速排序 & 堆排序
31 在 Python 中,没有 switch-case 语句。
32 Python 中函数包括:标准函数,内建函数,第三方库函数。
33 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
31id([object]) 函数返回对象object的内存地址。
32 else是可以和 for 或 while 搭配使用。
33 判断多个单一赋值语句是否相关的方法是看其功能上是否相关或相同
。
34 线性结构和非线性结构。
35 数据管理技术的发展过程
a. 人工管理阶段
数据不保存在计算机内。没有专门软件对数据进行管理。只有程序的概念没有文件的概念。数据面向程序。
b. 文件系统阶段
数据可以长期保存在磁盘上。数据的逻辑结构与物理结构有了区别。文件组织呈现多样化。数据不再属于某个特定的程序,可以重复使用。
c. 数据库阶段
采用数据模型表示复杂的数据结构。有较高的数据独立性。数据库系统为用户提供方便的用户接口。数据库系统提供了四个方面的数据控制功能。
36 数据的物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。
37 replace() 方法:str.replace(old, new[, max])。把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次。
38 软件测试方法(说法很多,不统一):
单元测试:对软件中的基本组成单位进行的测试。目的是检验软件基本组成单位的正确性。
集成测试:在软件系统集成过程中进行的测试。目的是检查单位之间的接口是否正确。
系统测试:对已经集成好的系统软件进行彻底的测试,以验证软件系统的正确性和性能是否满足其规约所指定的要求。
验收测试:验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,确保该软件系统满足其用户需求。
确认测试:又称有效性测试。在模拟环境下,运用黑盒测试方法,验证被测软件是否满足说明书列出的要求。任务是验证软件的功能及其他特性是否与用户的要求一致。
验证测试和确认测试的区别:前者针对设计,后者对应要求;验证是要看期望的结果经过指定的过程和参数是否实现;确认是要看到底有哪些期望,是否与用户需求相符。
用于检测软件产品是否符合需求定义的是确认测试。
‘y’<‘x’==False 返回 False
小段代码
d ={"大海":"蓝色", "天空":"灰色", "大地":"黑色"}
print(d["大地"], d.get("大地", "黄色"))
a = [[1,2,3], [4,5,6], [7,8,9]]
s = 0
for c in a:
for j in range(3):
s += c[j]
print(s)
# 如果用户输入整数,则直接输出整数并退出,
# 如果用户输入的不是整数,则要求用户重新输入,直至用户输入整数为止。
def getInput():
try:
txt = input("请输入整数: ")
while eval(txt) != int(txt):
txt = input("请输入整数: ")
except:
return getInput()
return eval(txt)
print(getInput())
1. Basic soluation
Match: [0-9](?=(?:[0-9]{3})+(?![0-9]))
Replace: \g<0>,
2. Match separator positions only, using lookbehind
Match:(?<=[0-9])(?=(?:[0-9]{3})+(?![0-9]))
Replace: ,
Chinese: 90,Math:85,English:95, Physical: 81,Art:85,Chemical:88
Chinese: 70,Math:82,English:93, Physical: 82,Art:86,Chemical:80
Chinese: 68,Math:81,English:87, Physical: 75,Art:87,Chemical:86
Chinese: 79,Math:84,English:87, Physical: 81,Art:65,Chemical:83
Chinese: 73,Math:85,English:86, Physical: 72,Art:76,Chemical:70
Chinese: 87,Math:81,English:67, Physical: 75,Art:97,Chemical:96
fi = open("data.txt", 'r')
for l in fi:
l = l.split(',')
s = 0.0
n = len(l)
for cours in l:
items = cours.split(':')
s += eval(items[1])
print("总和是:{},平均值是:{:.2f}".format(s,s/n))
fi.close()
ls = input().split(',') # 请输入一个字符串,由逗号隔开每个字符
print(''.join(ls))
dat=['1', '2', '3', '0', '0', '0']
for item in dat:
if item == '0':
dat.remove(item)
print(dat)
# ['1', '2', '3', '0']
异常处理
1 关于异常
异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本异常时我们需要捕获处理它,否则程序会终止。
2 try的工作原理
当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。
如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。
如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。
如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。
3 try/except 捕捉异常
try:
<语句>
except <异常名称>:
<语句>
except <异常名称>, <数据>:
<语句>
else:
<语句>
4 try-finally
无论是否发生异常都将执行finally下的代码。
5 raise 触发异常
raise [Exception [, args [, traceback]]]
Exception 是异常的类型参数标准异常中的任一种,args是自己提供的异常参数。
最后一个参数是可选的(很少用到),如果存在,是跟踪异常的对象。