Python123 历年经典1-13 选择题 笔记

计算机程序

  1. 分时操作系统:允许多个联机用户同时使用一台计算机系统进行计算的操作系统
  2. 冒泡排序最坏的比较次数:n(n-1)/2
  3. 静态测试不用运行软件,动态测试就是上机
  4. 白盒测试有:逻辑覆盖测试,基本路径测试。白盒测试时以程序内部逻辑结构为基础的测试技术。
  5. 补码符号位取反是偏移码
  6. 冯诺依曼计算机结构:结构存储控制的计算机结构
  7. 进程一旦创建,进入就绪状态
  8. 虚拟存储器是对主存的扩展,不属于外存储器
  9. 总线带宽:总线的数据传输率;总线宽度:总线根数
  10. \n 是换行,\r是光标回到开头
  11. 第二范式:如学生学号,班级编号,班长学号
  12. 火车票和火车乘客是M:N 多对多关系
  13. 软件单元测试的内容:模块接口,局部数据结构,边界条件,独立路径,比较判断与控制流 【这个题不知道也罢】
  14. 每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是 :多对一。【题目给了什么信息,你就按什么答,不要凭借常识,这里的“可以”=“是”】
  15. 关系模型 = 二维表
  16. 结构图中,“箭头”表示模块之间的调用关系;在数据流图中,带有名称的“箭头”是“数据的流向”;程序流程图(PFD)中,箭头代表控制了
  17. 递归用的存储分配通常是栈
  18. 衡量模块独立性的度量准则:内聚性和耦合性【内聚是内部,耦合是之间】
  19. 数据处理的最小单位:数据项item
  20. 关系型数据库实现的专门运算:选择,投影,连接
  21. 属性依赖标记为:X->Y 。Y依赖X。为啥依赖,因为有重复值,例如姓名依赖于学号,课程学分和课程名依赖于课程号,真正唯一的都是数字编码。那么,这个问题里主属性有两个,学号和课程号;姓名部分依赖于学号;这个案例是1NF第一范式,因为存在部分依赖;如果是2NF就不存在部分依赖。总共有1NF,2NF,3NF,BCNF。BCNF要求不存在传递依赖,如课程号,课程名,学分,先修课程号1,先修课程号2,每个都依赖于课程号 【C# -> {其他}】。
    1NF 不能再分
    2NF 非主属性完全依赖
    3NF 非主属性不能传递依赖
    BCNF 所有都不依赖
  22. 面向数据在计算机中物理表示是:物理模型
  23. 程序流程图是详细设计阶段用的,箭头代表控制流
  24. 基本路径测试是白盒测试、动态测试
  25. DFD的作用是支持软件系统功能建模
  26. 结构图描述软件结构
  27. 深度等于控制的层数
  28. CSV是通用文件格式,主要用于数据交换,可以保存一维和二维数据
  29. ls = [1,2,3,'1','2','3'] 这种序列是一维数据不是二维!只是数据类型不一样,不代表维度增加了
  30. 单元测试:不涉及模块出错处理功能
  31. “解释”是源代码“逐条”转换,然后执行的过程,不是“一次性”翻译
  32. 线性结构一定能采用顺序存储结构,也能采用链式存储结构。非线性结构也可能采用顺序存储结构。
  33. 算法的时间复杂度、空间复杂度都不是具体的时间、空间大小,而是一种趋势的度量。
  34. 只有一个根结点和一个子结点算 树型结构;树形结构是非线性结构
  35. 向量、栈、线性表、队列都属于线性结构的顺序存储
  36. 所有结点数 = 度 +1。也就是说,算完乘法+1 = 所有加法之和
  37. 二叉树的性质:叶子结点比度为2的结点多一个
  38. 二叉树是非线性结构
  39. 两个以上根结点的数据结构一定是非线性结构
  40. 集成设计:测试和组装软件。主要是发现与接口有关的错误,发现概要设计的错误。【概要设计:从需求到交互】
  41. 三级模式和二级映射,是为了提高数据库的数据独立性,包括“逻辑”独立性、“物理”独立性
  42. 数据库的三级模式:概念模式(逻辑结构的描述,公共数据的视图),外模式(用户见到),内模式(物理模式,物理存储结构和存储方法)。
  43. 软件设计原则:模块独立,规模“适中”,单出入口,深度扇入扇出相当

Python语言

  1. pass 是保留字, true不是保留字,要大写为True (None False),do 不是保留字。
  2. python 是解释型脚本语言(直接从源码运行,不用编译成二进制)
  3. 文件路径名可以用 // ,/, \ ,不能用这个\。也就是说,我们常见的路径符号需要转译才能用,其他的都能直接用。
  4. 八进制数 0o 十六进制 0x,二进制数0b
  5. Pyhon程序可以不包含main 函数,如果包含了一个函数main,那么这个函数的地位和其他函数相同
  6. id() 是python的内置函数。返回的是“内存地址”,是一个正整数,不是字符串!
  7. type() 是呈现括号中数据的类型如 ,type(type())则是
  8. exec() sum() abs() 都是内置函数;close不是内置函数,是系统管理的
  9. python组合数据类型:集合(无序),序列(有序),映射(如字典)
  10. 希尔排序在最坏的情况下最快,简单/冒泡/快速 都是O(n^2)
  11. 'a' 的Unicode为97!

计算

  1. a < b 返回布尔值 True False
  2. 整数相除输出浮点数,如10/2 输出5.0
  3. Pyhton整数类型没有取值范围限制【用C,数组,无限长……】
  4. // 是取商,如10//8 就是1(不大于商的最大整数)
  5. round() 是四舍五入不是取整!所以round(2.6) =3 。int()是取整。
  6. chr(x) 返回数字 x作为Unicode编码对应的字符
  7. range(a,b,sep) 不包含b!!
  8. len(x) x='A\0B\0C' ; 转译符号\ 不占空间的,\0就是指1个空格,所以长度是7-2=5
  9. 括号优先于 // 所以 9*28//10 = 252//10 = 25。
  10. 0.1+0.2 == 0.3 False 但是0.1+0.3 == 0.4 True,前者丢失精度,后者正好补偿了。 为什么0.1+0.2=0.30000000000000004 (cnblogs.com)
  11. set() 转化为集合,无重复且没有次序,例如set('djadd11da') = {'a','d','1','j'}

Python 分支循环

  1. 简单表达法: 表达式一 if 条件 else 表达式二
  2. for 循环可以遍历字典的键,而不是值
  3. if flag: [此处flag只要不等于0 都被认为这句话表达的是 TRUE]
  4. for 循环中的 if ……continue,表示跳出当前的for循环一次!
  5. while 叫无限循环,for 叫便利循环,名字不要搞反
  6. 单分支:if ;二分支:if- else ;多分支:if elif else
  7. Python异常处理:try-except-else-finally,没有if! try 必执行,try成功执行else;try失败执行except;finally必执行。
  8. break执行时,会跳出break所在的第一层循环【这句话是对的,“跳出”是说以后都不干,而不是“continue”的“回到循环开头”】
  9. for或while 和else搭配的时候,循环正常结束就会执行else【不正常指比如break】
  10. for 循环中出现的if……break 语句,说明彻底停止for循环!只有continue才是停止当次。

Python 列表

  1. 列表中的元素可以是任意类型,类型还能更改
  2. list.insert(index, obj) 两个参数!
  3. 班级学生身高年龄体重这种二维表格数据适合列表而不是字典格式
  4. ",".join(ls)
  5. l.append([5,6]) 功能是追加进[5,6] 这样一个列表,即[[5,6]]
  6. min[1,2,3] 得到的就是1,不要被题目迷惑,这和min(l) l=[1,2,3] 一个意思
  7. ls.reverse()
  8. 元组(tuple)是不可变序列(list);序列类型是一维元素向量
  9. 列表转化为字符串的方法是str(ls),注意列表有几个元素,字符串就有几个,比如ls=['1','2202','a'],str(ls) = '1','2202','a' ,如果要拼起来需要用join。

Python 字符串

  1. 字符串切片:ls[:2] 指的是0,1两个字符,而不到2! ls[3:-1]取不到最后一位!错了无数次了!
  2. a = input("").split(",") 这句话可以将录入的信息变成字符串,且用逗号分隔并存为列表
  3. 字符串长度的函数是 len(),不是lenstr()
  4. str(10/2) 结果是"5.0"
  5. image.png
  6. strip 函数是去除头尾的内容,例如strip(","),去除字符串头尾的逗号;所以strip不能管字符串中间的东西
  7. ***.replace(",",";") 指的是字符串中间的符号由逗号替换为分号
    1.string.printable 包含所有可打印的字符串,例如0-9数字,字符a-z,不包括字符串。
  8. 字符串类型可以当作注释,这句话的意思是 “```是注释 ```
  9. ls = [1,2,3,4] 要变成1 2 3 4,方法是:"".join(str(ls).strip("[]").split(","))) 看不懂
  10. 基本的字符串操作符包括: + * in
  11. str.split('分隔符号 ',分割次数-1)
    所以,如果str 中没有分隔符号,那么就不用分割,字符串长度就是1了。
  12. 字符串 '44' 和ls=[44,22] 里面的整数44不一样,所以不等价。
  13. sep.join(seq) join的用法:前面的是分隔符,后面的是要连接的元素序列、字符串、元组、字典。所以'{":->4}'join("ab")的结果是a{:->4}b
  14. for i in range(len(ls)) 和 for i in ls,循环次数一样,但是i的含义完全不一样,前者是int数字,后者是字符串str。
  15. print(str.center(10,"")) 这句话意思是居中两侧 填充,注意 * 必须有"*",是字符,否则会SyntaxError。
  16. 字符串比较大小,空格是32,空是0,a是97,所以 x='中文', y='中文字',print(x>y)结果是True。
  17. 字符串格式化::<填充><对齐><宽度>,<精度><类型>

Python 字典

  1. sorted(dd.keys()) sorted按照ASCII 排序,键的ASCII。
  2. max ,min() 如果中间是字典,那么比较的是key,输出的是最小的key,而不是value! 记反啦! 例如max({2:10,3:4})得到的结果是3;dd=['a':30,'b':20] 输出的是b。
  3. 字典类型无法表示一维数据
  4. 表达键值对的字典类型最可能属于的数据组织维度是:高维。
  5. print(dd.keys()) 打印的是 dict_keys ['','',''] 也就是打印了内部数据类型dict_keys,以及所有键。

Pyhton函数

  1. 函数内部的赋值只是局部变量,不改变全局变量!
  2. 局部变量标识符和全局变量标识符可以相同,因为用完即销毁
  3. 函数内部引用组合类型全局变量,可以不同global 声明;引用数字类型,必须声明。
  4. 函数里没有 print 语句,调用时啥都不输出的
  5. try except 不要和break同用
  6. 函数传递方式有两种:值传递(字符串,数字,元组)【都是不可变类型的实参】;引用(地址)传递:实参可变的,如列表字典
  7. 按照形参名称传递:例如def fun(x=3,y=2) 用的时候可以是 fun(y=4,x=2),不是按顺序对应,是按变量名字对应。
  8. return 可以返回0个值,所以没有返回值也可以用return;如果不写return,print (fun())是啥都不打印的!
  9. all() 函数、abs()都是内置函数。 all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
  10. 全局变量是在函数之外定义的变量。在函数内部使用时,需要使用global声明。如果未声明,不影响。函数内部改变了外部定义的组合类型变量的值,外部该变量的值随之改变。
  11. 函数调用,默认以位置调用,例如def (x,y=1,z=2): 可以用f(1),f(1,2,3),f(1,2),但不能这样写:f(1, ,3)
  12. zip(x,y) 将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。例如x = [1,2,3],y= ["a",'b','c'], 那么zip(x,y) 就是[(1,'a'),(2,'b'),(3,'c')]

Python 文件

  1. r:只读打开,指针指向文件头,如果文件不存在会报错
  2. w:只写打开,指针指向文件头;如果文件存在则清空,文件不存在则创建
  3. a:追加写,指针指向尾部,不存在则创建
  4. x:创建写,如已存在则异常
  5. seek是指针的位置,是所在行的列位置,不是行!例如seek(2) 之后再readline,指读取第一行的第三个字符到最后一个字符
  6. f = open(<文件路径文件名>, <打开模式>),不要记成了fopen!
  7. 写入的函数:write(x),writelines(x)。x必须是字符串,不是int。writelines(x) 中如果x是列表,则直接把列表里面的字符“连起来”,比如x = ['春眠', 不觉晓'],写完就是春眠不觉晓。
  8. 默认字符编码是UTF-8
  9. f=open(),print (f) 会报错,因为没做读写操作

Python 库

  1. from turtle import *,用处是之后不用写turtle. 。
  2. datetime库:
    • 有date,time,datetime等功能
  3. random.randit(a,b) 形成的是[a,b]随机整数,包括b!
  4. pip库功能:
    • search 查找; uninstall 卸载; download 下载不安装; install 安装;freeze;show;wheel;hash;completion;help。
  5. random.random() 0-1,不包含1; random.randint(a,b) 包含a,b
  6. turtle.pensize() 同名是turtle.width()
  7. random.uniform() 实数
  8. pyinstaller 打包源码的工具。可以打包进图片,但只能处理 utf-8
  9. pyinstaller -F -onefile 是在dist文件夹中只生成独立的打包文件

pyinstaller 库

-h --help 帮助
--clean 清理临时文件
-D --onedir:默认值,生成dist目录
-F -- onefile 生成独立的打包文件
-i 指定打包使用的icon文件

turtle 库

seth(x) 是setheading(x) 画笔旋转 x 角度【这个表达有问题,应该是设置绝对角度】
home()设置当前画笔位置为原点,朝向“东”

time 库

  1. perf_counter 不算是内置函数——是系统库,但不是内置函数。
  2. time() 返回系统时间(数字);ctime() 返回格式化后的时间 gmtime() 返回电脑可以读取加工的时间

Python 第三方库

  1. 图像处理:pillow opencv-python PIL
  2. 机器学习,深度学习:pytorch TensorFlow,MXNet
  3. 自然语言: NLTK
  4. 爬虫:requests scrapy
  5. 图形界面:wxpython
  6. 数据可视化:matplotlib,ggplot, vispy
  7. excel :openpyxl
  8. 音频处理:TimeSide
  9. GUI扩展:**PyQt5 **………………
  10. web开发:Pyramid Django、 flask
  11. 图形库 Arcade
  12. 游戏:pygame
  13. 人工智能:Pytorch,MXnet,Keras
  14. OCR:pyocr
  15. 数据分析:Numpy Pandas Seaborn

Python 历年真题得分统计

题号 得分 特点
经典13 已CHECK
经典12 25 已CHECK
经典11 29 已CHECK
经典10 29 已CHECK
经典09 30 已CHECK 38题,23题
经典08 33 已CHECK
经典07 32 已CHECK 这份竟然没有代码题
经典06 30 已CHECK 27题;30题
经典05 26 已CHECK 22题
经典04 26 已CHECK 27题 19题
经典03 27 已CHECK
经典02 23 已CHECK 35题 37题
经典01 31 已CHECK
精品10 24 已CHECK

你可能感兴趣的:(Python123 历年经典1-13 选择题 笔记)