每个模块包含基础、中等和进阶题,逐步提升难度:

Mutability and Transformaing Sequence

*
1、以下哪一个操作会修改原列表对象?()?
A、new_list = old_list + [1]
B、old_list.append(1)
C、new_list = old_list * 2
D、old_list = old_list + [1]
*
2、以下哪种数据类型是“可变的”?()?
A、int
B、str
C、tuple
D、list
*
3、执行以下代码后,nums2 的值是多少?()?
A、[1, 2, 3]
B、[99, 2, 3]
C、[1, 2, 3, 99]
D、报错
*
4、下列哪个操作对“嵌套列表”的浅拷贝不会产生意料之外的副作用?()?
A、使用 list() 构造函数
B、使用 nums[:]
C、使用 copy.copy()
D、使用 copy.deepcopy()
*
5、以下哪个操作会返回新列表而不是修改原列表?()?
A、append()
B、extend()
C、sort()
D、sorted()
*
6、以下哪个类型在函数中作为参数会导致原值被改变?()?
A、字符串
B、整数
C、列表
D、元组
*
7、执行
a = [1, 2]
b = a
a += [3]
后,b 的内容是?()?
A、[1, 2]
B、[1, 2, 3]
C、[3]
D、[]
*
9、对一个列表执行 del lst[0] 会发生什么?()?
A、删除整个列表
B、删除第一个元素
C、报错
D、清空列表
*
10、要对列表中的每个字符串都变成大写,以下哪个是最优方法?()
A、使用循环和 upper()
B、使用 map(str.upper, lst)
C、使用列表推导式
D、以上都可
*
11、对于一个嵌套列表 a = [[1, 2], [3, 4]],执行 b = copy.copy(a) 后修改 a[0][0] = 99,b 会变成?()?
A、[[1, 2], [3, 4]]
B、[[99, 2], [3, 4]]
C、[[1, 2], [99, 4]]
D、报错
请在此输入说明文字

File IO

*
1、以下哪个模式是只读模式?()?
A、"r"
B、"w"
C、"a"
D、"x"
*
2、用 with open("file.txt", "r") as f: 后,读取所有内容应使用哪个函数?()?
A、f.readline()
B、f.read()
C、f.writelines()
D、f.flush()
*
3、打开文件写入文本的正确做法是?()?
A、open("f.txt", "r")
B、open("f.txt", "a+")
C、open("f.txt", "w", encoding="utf-8")
D、open("f.txt", "x", binary=True)
*
4、使用 with open(...) 结构的主要优点是?()?
A、可以手动关闭文件
B、自动关闭文件,避免资源泄露
C、能并行写入多个文件
D、能读取二进制文件
*
5、当使用 "a" 模式打开一个文件时,如果文件存在,接下来写入的内容将会: ()?
A、覆盖文件开头部分
B、清空原内容
C、添加在末尾
D、报错
*
6、以下哪种方式适合逐行读取超大文件?()?
A、f.readlines()
B、f.read()
C、list(f)
D、for line in f
*
7、执行以下代码后 data.txt 中的内容可能是?()?
A、HelloWorld
B、Hello\nWorld\n
C、Hello\nWorld
D、Hello\n\nWorld
*
8、下列哪一项是 f = open("data.txt", "rb") 后返回的数据类型?()?
字典 (diction)
B、字节串 (str)
C、列表 (list)
D、元组 (tuple)
*
9、哪种写法可以将一个字符串列表写入文件,每项占一行?()?
A、f.write(lines)
B、f.writeline(lines)
C、f.write(str(lines))
D、f.writelines(lines)
*
10、以下代码段用于读取文件所有行,但会额外包含换行符,如何去除换行符?()?
使用 list(map(str.strip, lines))
使用 f.read().split()
使用 map(str.strip, lines)
用 lines.rstrip()

Importing Modules

*
1、使用哪个关键字可以导入模块?()?
A、import
B、module
C、include
D、load
*
2、如果你只想导入 math 模块中的 sqrt 函数,正确的语法是?()?
A、import sqrt from math
B、from math import sqrt
C、include math.sqrt
D、math.sqrt import
*
3、模块首次被导入时会发生什么?()?
A、只导入模块名
B、不会执行模块中的代码
C、执行模块内所有顶层语句
D、自动编译成 .pyc
*
4、下列哪个语句可以为模块设置别名?()?
A、import numpy as np
B、import numpy alias np
C、with numpy as np
D、from numpy import * as np
*
5、执行以下代码后,可以如何使用 pi?()?
A、直接使用 pi
B、math.pi
C、pi()
D、导入失败
*
6、如果一个模块文件名是 helper.py,下列哪种用法是正确的?()?
A、import Helper
B、from helper.py import func
C、import helper
D、from .helper import *
*
7、在包结构中,__init__.py 的作用是?()?
A、防止模块冲突
B、定义模块的主函数
C、清除缓存
D、标识目录是一个 Python 包
*
8、以下哪个语法会报错?()?
A、import math
B、from math import pi
C、import math as m
D、import math.pi
*
9、执行以下代码后,m.sqrt(4) 是否有效?()?
A、有效,m 是 math 的别名
B、无效,sqrt 未导入
C、报错,不能重命名模块
D、无效,sqrt 需要重新导入
*
10、一个模块在被多次 import 时会?()?
A、被多次执行
B、每次都创建新副本
C、只在第一次 import 时执行一次
D、每次都重新加载所有内容

OOP

*
1、创建类的关键字是?()?
A、class
B、def
C、struct
D、object
*
2、在类的方法中,第一个参数通常命名为?()?
A、selfish
B、this
C、self
D、cls
*
3、以下哪个语句用于创建 Person 类的实例?()?
A、Person() = john
B、john = Person()
C、john = new Person()
D、create(Person)
*
4、若定义一个类变量 count 用于统计实例个数,应该如何更新?()?
A、self.count += 1
B、self.class.count += 1
C、ClassName.count += 1
D、self::count += 1
问卷星提供技术支持
举报