Python语言基础
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Python语言基础》课程期末复习资料
一、客观部分:(单项选择、多项选择、判断)
(一)、选择部分
1. 关于python类说法错误的是(B)
A. 类的实例方法必须创建对象后才可以调用
B. 类的实例方法必须创建对象前才可以调用
C. 类的类方法可以用对象和类名来调用
D. 类的静态属性可以用类名和对象来调用
2. 关于random.uniform(a,b)的作用描述,以下选项中正确的是(A)。
A. 生成一个[a, b]之间的随机小数
B. 生成一个均值为a,方差为b的正态分布
C. 生成一个(a, b)之间的随机数
D. 生成一个[a, b]之间的随机整数
3. 关于分支结构,以下选项中描述不正确的是(B)。
A. if 语句中条件部分可以使用任何能够产生True和False的语句和函数
B. 二分支结构有一种紧凑形式,使用保留字if和elif实现
C. 多分支结构用于设置多个判断条件以及对应的多条执行路径
D. if语句中语句块执行与否依赖于条件判断
4. 关于 Python 对文件的处理,以下选项中描述错误的是(B)。
A. Python 通过解释器内置的 open() 函数打开一个文件
B. 当文件以文本方式打开时,读写按照字节流方式
C. 文件使用结束后要用 close() 方法关闭,释放文件的使用授权
D. Python 能够以文本和二进制两种方式处理文件
5. 关于整数类型的4种进制表示,哪个选项的描述是正确的(D)
A. 二进制、四进制、八进制、十进制
B. 二进制、四进制、十进制、十六进制
C. 二进制、四进制、八进制、十六进制
D. 二进制、八进制、十进制、十六进制
6. 关于Python的组合数据类型,以下选项中描述错误的是( B )
A. 组合数据类型可以分为3类:序列类型、集合类型和映射类型
B. 序列类型是二维元素向量,元素之间存在先后关系,通过序号访问
C. Python的str、tuple和list类型都属于序列类型
D. Python组合数据类型能够将多个同类型或不同类型的数据组织起来,通过单一的表示使数据操作更有序、更容易
7. 关于Python字典,以下选项中描述错误的是(B)
A. Python字典是包含0个或多个键值对的集合,没有长度限制,可以根据"键"索引"值"的内容
B. 如果想保持一个集合中元素的顺序,可以使用字典类型
C. Python通过字典实现映射
D. 字典中对某个键值的修改可以通过中括号[]的访问和赋值实现
8. 同时去掉字符串左边和右边空格的函数是(D)
A. center()
B. count()
C. fomat()
D. strip()
9. IS= [1,2,3,4,5,6], 以下关于循环结构的描述,错误的是(D)
A. 表达式 for i in range(len(ls)) 的循环次数跟 for i in ls 的循环次数是一样的
B. 表达式 for i in range(len(ls)) 的循环次数跟 for i in range(0,len(ls)) 的循环次数是一样的
C. 表达式 for i in range(len(ls)) 的循环次数跟 for i in range(1,len(ls)+1) 的循环次数是一样的
D. 表达式 for i in range(len(ls)) 跟 for i in ls 的循环中,i 的值是一样的
10.Python 语言中,以下表达式输出结果为11的选项是(D)。
A. print(“1+1”)
B. print(1+1)
C. print(eval(“1+1”))
D. print(eval(“1” + “1”)
11. val=pow(2,1000),请用一行代码返回val结果的长度值(A)。
A. len(str(val))
B. len(val)
C. len(pow(2,1000))
D. 以上均不正确
12. 关于 Python 对文件的处理,以下选项中描述错误的是(B)。
A. Python 通过解释器内置的 open() 函数打开一个文件
B. 当文件以文本方式打开时,读写按照字节流方式
C. 文件使用结束后要用 close() 方法关闭,释放文件的使用授权
D. Python 能够以文本和二进制两种方式处理文件
13. 关于 Python 字符编码,以下选项中描述错误的是(D)
A. chr(x) 和 ord(x) 函数用于在单字符和 Unicode 编码值之间进行转换
B. print chr(65) 输出 A.
C. print(ord(‘a’)) 输出 97
D. Python 字符编码使用 ASCII 编码
14. 关于形参和实参的描述,以下选项中正确的是(B)
A. 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参
B. 函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式
C. 程序在调用时,将形参复制给函数的实参
D. 函数定义中参数列表里面的参数是实际参数,简称实参
15. 以下对 Python 程序缩进格式描述错误的选项是(D)
A. 不需要缩进的代码顶行写,前面不能留空白
B. 缩进可以用 tab 键实现,也可以用多个空格实现
C. 严格的缩进可以约束程序结构,可以多层缩进
D. 缩进是用来格式美化 Python 程序的
16. 关于函数作用的描述,以下选项中错误的是(D)
A.复用代码
B. 增强代码的可读性
C. 降低编程复杂度
D. 提高代码执行速度
17. 以下选项中不属于组合数据类型的是(A)
A. 变体类型
B. 字典类型
C. 映射类型
D. 序列类型
18. 哪个选项不是Python语言的整数类型(D)
A. 0B1010
B. 88
C. 0x9a
D. 0E99
19. 以下选项中,不是建立字典的方式是(D)
A. d = {[1,2]:1, [3,4]:3}
B. d = {(1,2):1, (3,4):3}
C. d = {‘张三’:1, ‘李四’:2}
D. d = {1:[1,2], 3:[3,4]}
20. 以下是字符转换成字节的方法是(B)
A. decode()
B. encode()
C. upper()
D. rstrip()
21. 以下选项中,属于Python保留字的是(ABD)
A. def
B. import
C. type
D. elif
22. 下面能创建一个集合的语句是(ABC)
A. s1 = set ()
B. s2 = set (“abcd”)
C. s3 = (1, 2, 3, 4)
D. s4 = frozenset( (3,2,1) )
23. 以下选项中,与Python中文件操作的相关函数是(ABD)
A. open()
B. read()
C. load()
D. write()
24. 关于Python的浮点数类型,以下选项中描述正确的是(ABD)
A. 浮点数类型与数学中实数的概念一致,表示带有小数的数值
B. sys.float_info可以详细列出Python解释器所运行系统的浮点数各项参数
C. Python语言的浮点数可以不带小数部分层
D. 浮点数有两种表示方法:十进制表示和科学计数法
25. 字符串是一个连续的字符序列,哪个选项可以实现打印字符信息的换行(A)
A.使用\n
B. 使用“\换行”
C. 使用空格
D. 使用转义符\
26. 以下选项中不属于组合数据类型的是(A)
A. 变体类型
B. 字典类型
C. 映射类型
D. 序列类型
27. 以下关于组合类型的描述,错误的是(D)
A. 可以用大括号创建字典,用中括号增加新元素
B. 嵌套的字典数据类型可以用来表达高维数据
C. 字典的 pop 函数可以返回一个键对应的值,并删除该键值对
D. 空字典和空集合都可以用大括号来创建
28. 以下选项中,不是建立字典的方式是(D)
A. d = {[1,2]:1, [3,4]:3}
B. d = {(1,2):1, (3,4):3}
C. d = {‘张三’:1, ‘李四’:2}
D. d = {1:[1,2], 3:[3,4]}
29. 下列哪些语句在Python中不是非法的(ACD)
A. x = y = z = 1
B. x = (y = z + 1)
C. x, y = y, x
D. x += y
30. 下面能创建一个集合的语句是(ABC)
A. s1 = set ()
B. s2 = set (“abcd”)
C. s3 = (1, 2, 3, 4)
D. s4 = frozenset( (3,2,1) )
31. 关于Python语言的特点,以下选项中描述正确的是(ACD)
A. Python语言是脚本语言
B. Python语言是非开源语言
C. Python语言是跨平台语言
D. Python语言是多模型语言
32. 以下选项中,对文件的描述错误的是(C)
A. 文件中可以包含任何数据内容
B. 文本文件和二进制文件都是文件
C. 文本文件不能用二进制文件方式读入
D. 文件是一个存储在辅助存储器上的数据序列
33. Python 中,函数定义可以不包括以下(D)
A. 函数名
B. 关键字 def
C. 一对圆括号
D. 可选参数列表
34. 关于Python的全局变量和局部变量,以下选项中描述正确的是(BCD)
A. 局部变量指在函数内部使用的变量,当函数退出时,变量依然存在,下次函数调用可以继续使用
B. 使用global保留字声明简单数据类型变量后,该变量作为全局变量使用
C. 简单数据类型变量无论是否与全局变量重名,仅在函数内部创建和使用,函数退出后变量被释放
D. 全局变量指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效
35. 在Python中,关于函数的描述,以下选项中错误的是(BCD)
A. 函数eval()可以用于数值表达式求值,例如eval("2*3+1")
B. Python函数定义中没有对参数指定类型,这说明,参数在函数中可以当作任意类型使用
C. 一个函数中只允许有一条return语句
D. Python中,def和return是函数必须使用的保留字
36. 关于 Python 的数字类型,以下选项中描述错误的是(C)
A. Python 整数类型提供了 4 种进制表示:十进制、二进制、八进制和十六进制
B. Python 语言要求所有浮点数必须带有小数部分
C. Python 语言中,复数类型中实数部分和虚数部分的数值都是浮点类型,复数的虚数部分通过后缀“C. ”或者“c”来表示
D. Python 语言提供 int、float、complex 等数字类型
37. random库的seed(a)函数的作用是(C)
A. 生成一个[0.0, 1.0)之间的随机小数
B. 生成一个k比特长度的随机整数
C. 设置初始化随机数种子
D. 生成一个随机整数
38. 给定字典d,以下选项中对x in d的描述正确的是(D)
A. 判断x是否是在字典d中以键或值方式存在
B. 判断x是否是字典d中的值
C. x是一个二元元组,判断x是否是字典d中的键值对
D. 判断x是否是字典d中的键
39. 以下关于程序设计语言的描述,正确的选项是(ABD)
A. Python语言是一种脚本编程语言
B. 汇编语言是直接操作计算机硬件的编程语言
C. 程序设计语言经历了机器语言、汇编语言、脚本语言三个阶段
D. 编译和解释的区别是一次性翻译程序还是每次执行时都要翻译程序
40. 关于 Python 的复数类型,以下选项中描述正确的是(ABD)
A. 复数的虚数部分通过后缀“J”或者“j”来表示
B. 对于复数 z,可以用 z.real 获得它的实数部分
C. 对于复数 z,可以用 z.imag 获得它的实数部分
D. 复数类型表示数学中的复数
41. 以下不会出现错误的是(AC)
A. ‘北京’.encode()
B. ‘北京’.decode()
C. ‘北京’.encode().decode()
D. 以上都不会错误
42. Python 中函数不包括:(D)
A.标准函数
B.第三库函数
C. 内建函数
D. 参数函数
43. Python中数据结构分为可变类型与不可变类型,下面属于不可变类型的是(A)
A. 字典中的键
B. 列表
C. 集合
D. 字典
44. 以下是正确的字符串(BD)
A. ‘abc”ab”
B. ‘abc”ab’
C. “abc”ab”
D. “abc\”ab”
45. 关于字符串下列说法正确的是(ACD)
A. 字符应该视为长度为1的字符串
B. 字符串以\0标志字符串的结束
C. 既可以用单引号,也可以用双引号创建字符串
D. 在三引号字符串中可以包含换行回车等特殊字符
46. 关于Python注释,以下选项中描述正确的是(BCD)
A. Python注释语句不被解释器过滤掉,也不被执行
B. 注释可用于标明作者和版权信息
C. 注释可以辅助程序调试
D. 注释用于解释代码原理或者用途
47. pow(x, 0.5)能够计算x的平方根,计算负数的平方根将产生: (B)
A.程序崩溃
B. 复数
C. ValueError错误
D. 无输出
48. Python 中对变量描述错误的选项是(D)
A. Python 不需要显式声明变量类型,在第一次变量赋值时由值决定变量的类型
B. 变量通过变量名访问
C. 变量必须在创建和赋值后使用
D. 变量 PI 与变量 Pi 被看作相同的变量
49.关于 Python 字符串,以下选项中描述错误的是(A)
A. 可以使用 datatype() 测试字符串的类型
B. 输出带有引号的字符串,可以使用转义字符
C. 字符串是一个字符序列,字符串中的编号叫“索引”
D. 字符串可以保存在变量中,也可以单独存在
50. 下列变量名中,合法的是(ACD)
A. height
B. 1_height
C. height_1
D. height_x
51. 关于Python语言的浮点数类型,以下选项中描述正确的是(ABD)
A. 浮点数类型表示带有小数的类型
B. Python语言要求所有浮点数必须带有小数部分
C.小数部分不可以为0
D. 浮点数类型与数学中实数的概念一致
52. 关于赋值语句,以下选项中描述正确的是(ACD)
A. a,b = b,a 可以实现a 和 b值的互换
B. a,b,c = b,c,a 是不合法的
C. 在Python语言中,“=”表示赋值,即将“=”右侧的计算结果赋值给左侧变量,包含“=”的语句称为赋值语句
D. 赋值与二元操作符可以组合,例如&=
53. for或者while与else搭配使用时,关于执行else语句块描述正确的是: (D)
A.仅循环非正常结束后执行(以break结束)
B. 仅循环正常结束后执行
C. 总会执行
D. 永不执行
54. Python不支持的数据类型有(A)
A. char
B. int
C. float
D. list
55. 关于Python循环结构,以下选项中描述错误的是(C)
A. 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等
B. break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行
C. 每个continue语句只有能力跳出当前层次的循环
D. Python通过for、while等保留字提供遍历循环和无限循环结构
56. 关于Python的分支结构,以下选项中描述正确的是(ABC)
A. Python中if-elif-else语句描述多分支结构
B. 分支结构使用if保留字
C. Python中if-else语句用来形成二分支结构
D.分支结构可以向已经执行过的语句部分跳转
(二)、判断部分
1. Python集合不支持使用下标访问其中的元素。
(√)
2. 在循环中continue语句的作用是跳出当前循环。
(×)
3. 不同作用域中的同名变量之间互相不影响,也就是说,在不同的作用域内可以定义同名的变量。
(√)
4.表达式 list(‘[1, 2, 3]’) 的值是[1, 2, 3]。
(×)
5. 集合可以作为列表的元素。
(√)
6. 无法删除集合中指定位置的元素,只能删除特定值的元素。
(√)
7.Python运算符%不仅可以用来求余数,还可以用来格式化字符串。
(√)
8. 内置函数len()返回指定序列的元素个数,适用于列表、元组、字符串、字典、集合以及range、zip等迭代对象。
(√)
9. 已知x为非空列表,那么x.sort(reverse=True)和x.reverse()的作用是等价的。
(×)
10. 在UTF-8编码中一个汉字需要占用3个字节。
(√)
11. 只能对列表进行切片操作,不能对元组和字符串进行切片操作。
(×)
12. Python字典和集合支持双向索引。
(×)
13. 元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。
(√)
14. 定义Python函数时,如果函数中没有return语句,则默认返回空值None. (√)
15. 使用Python列表的方法insert()为列表插入元素时会改变列表中插入位置之后元素的索引。
(√)
16. 带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码. (×)
17. . Python代码的注释只有一种方式,那就是使用#符号(×)
18. 在Python中0xad是合法的十六进制数字表示形式(√)
19. Python集合可以包含相同的元素(×)
20. 带有else子句的循环如果因为执行了break语句而退出的话,则会执行else子句中的代码。
(×)
21. 列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素(√)
22. Python字典中的“键”可以是元组(√)
23. 列表对象的append()方法属于原地操作,用于在列表尾部追加一个元素(√)
24. 已知 x = 3,那么赋值语句 x = ‘abcedfg’是无法正常执行的(×)
25. Python变量名必须以字母或下划线开头,并且区分字母大小写。
(√)
26. 放在一对三引号之间的任何内容将被认为是注释。
(×)
27. 使用内置函数open()打开文件时,只要文件路径正确就总是可以正确打开的。
(×)
28. 加法运算符可以用来连接字符串并生成新字符串。
(√)
29. Python列表、元组、字符串都属于有序序列。
(√)
30. Python不允许使用关键字作为变量名,允许使用内置函数名作为变量名,但这会改变函数名的含义(√)
二、主观部分:
(一)、填空部分
1、random模块中 shuffle() 方法的作用是将列表中的元素随机乱序。
2.已知列表对象x = [‘11’, ‘2’, ‘3’],则表达式 max(x) 的值为‘3’。
3. 已知 x = {1:2},那么执行语句 x[2] = 3之后,x的值为 {1: 2, 2: 3} 。
4. 表达式 dict(zip([1, 2], [3, 4])) 的值为 {1: 3, 2: 4} 。
5. 字符串编码格式GBK使用 2 个字节表示一个汉字。
6. 已知x = list(range(20)),那么执行语句x[:18] = []后列表x的值为 [18,19] 。
7. 表达式‘%s’%[1,2,3] 的值为‘[1, 2, 3]’
8.表达式{range(4), 4, (5, 6, 7)}的值为 {0, 1, 2, 3, 4, 5, 6, 7}
9. 在Python中 None 表示空类型
10. 切片操作list(range(6))[::2]执行结果为 [0, 2, 4]
11. 已知 x = [3, 5, 7],那么执行语句 x[:3] = [2]之后,x的值为 [2]
12. Python内置函数 open() 用来打开或创建文件并返回文件对象
13. 在函数内部可以通过关键字 global 来定义全局变量
14. 在Python定义类时,与运算符“**”对应的特殊方法名为 pow()
15. Python内置函数sum() 用来返回数值型序列中所有元素之和
16. 已知 x = ‘123’和 y = ‘456’,那么表达式 x + y 的值为‘123456’
17. 表达式 list(range(5)) 的值为 [0, 1, 2, 3, 4]
18. 字典对象的 values() 方法返回字典的“值”列表
19. 表达式‘a’ + ‘b’的值为’ab’
20. 字典对象的 keys() 方法返回字典的“键”列表
21. 表达式[1, 2, 3]*3的执行结果为 [1,2,3,1,2,3,1,2,3,]
22. Python内置函数 len()可以返回列表、元组、字典、集合、字符串以及range 对象中元素个数
23. 表达式 range(10)[-1] 的值为 9
(二)、名词解释
1. 什么是局部变量?
局部变量是指定义在函数体内的变量,它只能被本函数调用,与函数外具有相同名称的其他变量没有任何关系。
2. 什么是类属性。
类属性是在类中方法之外定义的,属性又分为公有属性和私有属性。
Python是以属性命名方式来区分,如果在属性名前面加了两个下划线,则表明该属性是私有属性,否则为公有属性。
3. 什么是列表?
按特定顺序排列的元素组成。
在Python中,用方括号[]来表示列表,并用逗号来分隔其中的元素。
Python列表是编程中很常见的数据类型,列表是一种可修改的集合类型,其元素可以是数字、string等基本类型,也可以是列表、元组、字典等集合对象,甚至可以是自定义的类型。
4. 什么是多态性。
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。
简单的说:就是用基类的引用指向子类的对象。
5. 什么是逻辑运算符?
对逻辑进行判断正误的符号,not,and,or
6. 什么是索引?
列表中的每个元素被分配一个序号,即元素的位置,称为索引。
7. 什么是递归?
指的是一个函数不断调用自身的行为。
比如,以编程方式输出著名的斐波纳契数列
8. 什么是顺序结构?
顺序结构是代码执行的基础,在同一个代码块中,代码自上而下按顺序执行,这种顺序就被称为顺序结构
9. 什么是函数?
函数是指复杂的程序往往由多个较小的程序片段组成,将程序片段中执行相同功能的代码抽出来,作为公共的独立单位使用这个公共的独立单位就是函数。
函数提高了代码的重复利用率,减少了程序的代码量,使得错误局部化程序更易于维护。
(三)、简答
1. break语句的作用
break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句,break语句用在while和for循环中
2. 简述解释型和编译型编程语言
1). 解释型语言:可以直接运行,逐条翻译逐条运行,执行速度慢、效率低
2). 编译型语言,执行速度快、效率高,把做好的源程序全部编译成二进制代码的可运行程序。
然后,可直接运行这个程序
3. 描述封装,继承,多态的含义和作用
1). 封装:把类的属性赋予给对象作用:方便调用
2). 继承:子类继承父类的属性和方法作用:减少代码量
3). 多态:一类事物的多种表现形式,父类的实现指向子类的引用,需要利用继承,方法重
写,重载等方法作用:减少代码量
4. 简述Dict特点
1).key不重复,不可变
2). 数据无序排放
3). 可变数据类型
5. 简述python中类方法和静态方法?
1).类方法是类对象的方法,在定义时需要在上方使用“@classmethod”进行装饰,形参为cls,表示类对象,类对象和实例对象都可调用
2). 静态方法是一个任意函数,在其上方使用“@staticmethod”进行装饰,可以用对象直接调用,静态方法实际上跟该类没有太大关系。
6. 简述深拷贝和浅拷贝
1). 浅拷贝:对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。
2). 深拷贝:拷贝对象的具体内容,二内存地址是自主分配的,拷贝结束之后俩个对象虽然存的值是一样的,但是内存地址不一样,俩个对象页互相不影响,互不干涉。
7. 简述定义函数的规则
1).函数代码块以def 关键词开头,后接函数标识符名称和圆括号()。
2). 任何传入参数和自变量必须放在圆括号中间。
圆括号之间可以用于定义参数。
3). 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
4). 函数内容以冒号起始,并且缩进.
5). return [表达式] 结束函数,选择性地返回一个值给调用方。
不带表达式的return相当于返回 None.
8. 简述对象和类的关系
1). 类:抽象的,只有一个,一类事物的总称。
2). 对象:实体的,可以有多个,是类的具体实现。
9. 在Python中导入模块中的对象有哪几种方式?
1).import 模块名 [as 别名]。
2). from 模块名 import 对象名[ as 别名]。
3). from math import *
(四)、论述
1、简单论述Python字典以及基本操作。
字典是 Python 提供的一种常用的数据结构,主要用于存放具有映射关系的数据,字典是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种结构类型通常也被称为映射,或者叫关联数组,也有叫哈希表的。
每个key-value之间用“:”隔开,每组用“,”分割,整个字典用“{}”括起来;定义字典时,键前值后,键必须唯一性,值可以不唯一,如果键有相同,值则取最后一个;clear() 清空字典里的数据;copy() 拷贝(浅拷贝)一个字典里的数据;get(key, default=None) 访问字典中对应的键里的值,如不存在该键返回default的值;items() 获取字典键值对数据,以列表形式返回;keys() 获取字典键的数据,以列表形式返回;values() 获取字典值的数据,以列表形式返回。
2. 简单论述解释型和编译型编程语言区别。
编译型语言需要一个专门的编译过程,把源代码编译成机器语言的文件,如exe格式的文件,以后要再运行时,直接使用编译结果即可,如直接运行exe文件。
因为只需编译一次,以后运行时不需要编译,所以编译型语言执行效率高;解释型语言不需要事先编译,其直接将源代码解释成机器码并立即执行,所以只要某一平台提供了相应的解释器即可运行该程序;主要区别在于,前者源程序编译后即可在该平台运行,后者是在运行期间才编译。
所以前者运行速度快,后者跨平台性好。