练习题(第二模块...模块...选择填空)
1、(多选题) 我们在开发过程中经常能够使用到模块这个知识,python中使用模块的好处是() A使用模块的好处是避免变量和函数的冲突 B使用模块的好处是可重用 C使用模块的好处是提高运行速度 D使用模块的好处是便于维护
答 案: 正确答案: A,B,D, 您的答案: A,B,C,D 统 计: 答题时间: 14秒, 全站答题人数: 60个, 全站正确率: 57% 解 析: C:计算机中运行的速度只和硬件有关 知 识 点: 模块介绍 来 源 课 时: 常用模块学习-模块的种类和导入方法
9、(多选题) 我们在使用模块的时候,有以下哪几种模块导入的方式() A跨模块导入 B绝对路径导入 C相对路径导入 D一个包下模块全部导入 跨模块导入相对导入sy
答案: 正确答案: A,B,C,D, 您的答案: A,B,C 统 计: 答题时间: 19秒, 全站答题人数: 51个, 全站正确率: 35% 解 析: D:在导入模块的时候不建议将一个包下的所有模块导入例如:from...import * 知 识 点: 跨模块导入相对导入sys.path 来 源 课 时: 常用模块学习-跨模块导入2常用模块学习-相对导入常用模块学习-sys模块详解
11、(填空题) 在我们学习中有一个模块可以帮我获取到当前的时间,time.time()这种获取到的字符串内容我们都称它为_______。
答 案: 正确答案: 时间戳, 您的答案: 时间变量 统 计: 答题时间: 60秒, 全站答题人数: 59个, 全站正确率: 75% 解 析: 时间戳是由17个数和一个小数点组成的浮点类型 例如:1526956655.2659512 知 识 点: 时间戳 来 源 课 时: 常用模块学习-time模块详解
13、(单选题) 我们在通过pip install命令安装了第三方模块但是不知道版本,python中查看模块命令是()。 A pip show B pip list C pip name D pip install 模块基本语法 答案A pip show
14、 (单选题) 我们在通过pip install django命令安装了第三方模块但是想要指定安装1.11版本,python中安装命令是()
我们在使用第三方模块的时候想要指定版本就需要使用pip install django==1.11这样的命令
15、 (填空题) 我们使用的localtime结构化时间,time.localtime()获取到的是_元祖____类型
17、 (多选题) time.localtime中共有9个参数,这9个参数中共有哪些() A tm_year,tm_mday,tm_min B tm_mon,tm_hour,tm_sec C tm_wday,tm_isdst,tm_yday D tm_year,tm_day,tm_mon
答案: 正确答案: A,B,C, 您的答案: A,B,D 统 计: 答题时间: 26秒, 全站答题人数: 58个, 全站正确率: 43% 解 析: D:time.localtime中没有tm_day这样的参数 知 识 点: time.struct_time 来 源 课 时: 常用模块学习-time模块详解
18、(多选题) 在使用os模块下的getcwd方法,以下说法正确的是() A 需要加括号调用,例如os.getcwd() B 在调用的时候必须要传入参数 C 在调用的时候不用传入参数 D 在调用的时候传不传参数都行
答 案:
正确答案: A,C, 您的答案: A,C,D
统 计:
答题时间: 15秒, 全站答题人数: 57个, 全站正确率: 40%
解 析:
A,C:os.getcwd()在调用的时候需要加括号,但是括号中不能加参数
知 识 点:
os.getcwd
来 源 课 时:
常用模块学习-os模块详解
19、 (单选题) 有如下这种格式,在windows系统上使用os .listdir功能查看正确的代码及运行结果是()
Users └── coding └── python ├── hello.py - 文件 ├── word.py - 文件 └── web - 目录
A print(os.listdir('python')) 运行结果:[hello.py,word.py,web]
B print(os.listdir('Users/coding/python')) 运行结果:[hello.py,word.py]
C print(os.listdir('Users\coding\python')) 运行结果:[hello.py,word.py]
D print(os.listdir('python')) 运行结果:[hello.py,word.py]
答 案: 正确答案: A, 您的答案: A 统 计: 答题时间: 4秒, 全站答题人数: 54个, 全站正确率: 30% 解 析: A:查看指定目录下的所有文件 os.listdir(“dirname”) 知 识 点: os.listdir 来 源 课 时: 常用模块学习-os模块详解
我们在代码中想要查看某个文件夹中的内容,我们就使用os.listdir(文件名) 我们这样写就是将我们指定的文件夹下所有的内容获取到以列表的形式进行显示这种描述正确
21、(单选题) os.makedirs() 方法用于以数字权限模式创建目录,读以下代码选择参数解释正确的()
A path是要打开文件的路径,mode是读取方式
B path是要创建文件的路径,mode是对文件的权限
C path是要创建文件的路径,mode是读取方式
D path是要打开文件的路径,mode是对文件的权限
答 案: 正确答案: B, 您的答案: A 统 计: 答题时间: 27秒, 全站答题人数: 52个, 全站正确率: 56% 解 析: os.makedirs() 方法用于以数字权限模式创建目录,读以下代码选择参数解释正确的 知 识 点: os.makedirs 来 源 课 时: 常用模块学习-os模块详解
23、(填空题) 我们使用os模块改变当前工作目录,这个方法是os.____(不用加括号)
答 案: 正确答案: chdir, 您的答案: chdir 统 计: 答题时间: 71秒, 全站答题人数: 60个, 全站正确率: 60% 解 析: 如果path是绝对路径,则返回True。否则返回False。这个方法是os.isabs 知 识 点: os目录操作 来 源 课 时: 常用模块学习-os模块详解
24、(单选题) sys.path是动态地改变Python搜索路径,sys.path获取到的是什么数据类型()
A 字典
B 集合
C 元组
D 列表
25、(填空题) 在python中print 会调用 sys.stdout 中的_____ 方法(不用加括号) write
26、 (填空题) 在python中通过代码获取当前系统平台应该使用sys._____方法(不用加括号) platform
27、(填空题) sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules 将自动记录该模块。
当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法,这句话正确吗________(正确/不正确)
28、(填空题) 我们知道shutil模块有一个功能是打包文件,这个打包文件的方法是shutil._______(不加括号) make_archive
33、(单选题) 读以下代码(datetime指定时间),以下格式正确的是() import datetime today = datetime.date.today() first = datetime.date(day=1, month=today.month, year=today.year) lastMonth = first - datetime.timedelta(days=1) print(lastMonth)
A 43248 B 1527473835.03473 C 43220.425092592595 D 2018-05-28 00:00:00
答 案: 正确答案: D, 您的答案: A 统 计: 答题时间: 258秒, 全站答题人数: 168个, 全站正确率: 74% 解 析: 首先获取当前的时间,然后进行减法运算.求出最新的格式化时间 知 识 点: datetime 来 源 课 时: 常用模块学习-datetime模块详解
35、(多选题) 以下sys.argv说法正确的是()。 文件名:demo.py 文件内容如下: import sys result = sys.argv print(result)
A sys.argv向脚本中传入的参数必须是linux的内部命令 B sys.argv可以向脚本传入参数 C sys.argv的返回值是一个列表 D sys.argv的返回值是一个元组
答 案:
正确答案: B,C, 您的答案: D,B
统 计:
答题时间: 19秒, 全站答题人数: 181个, 全站正确率: 43%
解 析:
sys.argv的功能是获取向脚本文件传入参数,返回一个列表,列表的第一个元素是脚本的文件路径和名称,后面的元素是要向脚本传入的参数,
本题sys.argv并没有接相应的参数,所以只返回当前的文件路径。
知 识 点:
sys模块
来 源 课 时:
常用模块学习-sys模块详解
37、基于你对match方法的理解,下列关于match方法的返回值以及应用说法不正确的是():
A match方法匹配成功后返回一个对象
B 返回对象的group方法是直接获取匹配到的所有结果,类型是列表
C 返回对象的groups方法是获取匹配到的分组结果
D 返回对象的groupdict方法是只返回匹配到的字符串中分组部分定义了key的组结果
答 案: 正确答案: B 统 计: 答题时间: 71秒, 全站答题人数: 49个, 全站正确率: 4% 解 析: B选项错在group方法返回元组,不是列表,groupdict方法返回的是字典。 知 识 点: re.match 来 源 课 时: 常用模块学习-re匹配语法
38、(多选题) 请仔细阅读下面这段代码,关于执行结果下列说法正确的是():
import re
origin = "hello egon bcd egon lge egon acd 19"
r = re.match("a(?P\w+).*(?P\d)", origin)
print(r)
print(r.group())
print(r.groups())
print(r.groupdict())
A 第一次打印结果是一个对象
B 第二次打印结果是acd19
C 第三次打印结果是('cd', '9')
D 第四次打印结果是{'n1': 'cd', 'n2': '9'}
答 案: 正确答案: A,C,D 统 计: 答题时间: 99秒, 全站答题人数: 66个, 全站正确率: 15% 解 析: A选项是正确的,B选项错在结果应该是acd 19,要注意正则表达式中的.代表匹配除换行符以 外的任意字符;C、D选项是正确的,要注意groups方法只获取分组结果,
而groupdict方法是获取分组中 定义key的结果,并且返回字典。 知 识 点: re.match 来 源 课 时: 常用模块学习-re匹配语法
40、(多选题) 请阅读下面关于量词?应用的代码示例,请选出四个选项中说法正确的是():
import re
example = '-allex'
r = re.findall('-al?', example)
r1 = re.findall('-al*?', example)
print(r)
print(r1)
A两次打印结果是一样的
Br的输出结果是['-al']
Cr1的输出结果是['-a']
Dr1的输出结果是['-all']
答 案:
正确答案: B,C, 您的答案: B,D
统 计:
答题时间: 34秒, 全站答题人数: 67个, 全站正确率: 34%
解 析:
r的输出结果遵循贪婪匹配,匹配最多次数一次,故选B;r1的输出结果由于量词后加?,所以遵循非贪婪匹配,尽量匹配最少次,量词*的最少次是0次,故选C,两次输出结果是不一样的,A选项错误
知 识 点:
正则表达式"?"
来 源 课 时:
常用模块学习-re正则表达式公式讲解2
41、(单选题) 以下这段代码是正则表达式字符集的基础示例,从下列选项中选出错误的一项是(): import re a = re.findall("[^a-z]", "123alex456egon789alvin") print(a) 结果#['1','2','3','4','5','6','7','8','9'] A 输出的列表中所有的元素都是整数类型 B 打印出的列表共有9个元素 C 这段代码可以用来匹配字符串中所有非字母的元素 D 若将正则表达式字符集中的^去掉,则输出结果是完全相反的 #结果相反 ['a', 'l', 'e', 'x', 'e', 'g', 'o', 'n', 'a', 'l', 'v', 'i', 'n']
答 案: 正确答案: A, 您的答案: A 统 计: 答题时间: 192秒, 全站答题人数: 62个, 全站正确率: 28% 解 析: A选项错在一定要注意正则只针对字符串,匹配到的数据类型也是字符串;还有一点要注意字符集是一个字符的匹配规则,所以返回的结果中是字符串中所有的数字。 知 识 点: 正则表达式"[]" 来 源 课 时: 常用模块学习-re正则表达式公式讲解2
42、 (填空题) 对于不同的字符串利用相同的正则表达式进行匹配,利用re模块的____方法会生成模式对象,不需要再重复的写正则表达式。 re.compile
43、(多选题) 请阅读以下关于正则表达式分组匹配的代码,并从四个选项中选出说法错误的是(): import re e1 = '100001' r = re.search('(0{2,3}?)', e1) r2 = re.search('(?P0{3,})[1]', e1) print(r.group()) print(r.groups()) print(r2.groupdict()) A 第一次打印结果是000 B 第二次打印结果是('00') C 第三次打印结果的数据类型是字典 D 第三次的输出结果是{'name': '00001'}
答 案: 正确答案: A,B,D, 您的答案: B,D 统 计: 答题时间: 133秒, 全站答题人数: 61个, 全站正确率: 3% 解 析: 加?,变量r中的匹配规则是非贪婪匹配,所以输出00,故A选项错误;B选项错在输出的是元组,应该在元素后加逗号;D选项错在groupdict方法只会输出分组中定义key的匹配结果,
所以字典中的value应该是0000。 知 识 点: 分组匹配()&(<>) 来 源 课 时: 常用模块学习-re正则表达式公式讲解3
44、(多选题) 请阅读以下关于正则表达式分组匹配的示例代码,从四个选项中选择说法正确的是(): import re s = 'age:13,name:Tom' p1 = re.compile(r'age:(\d+),name:(\w+)') print(re.findall(p1, s)) p2 = re.compile(r'age:(?:\d+),name:(\w+)') print(re.findall(p2, s)) A 第二次输出结果是['Tom'] B 第一次输出结果是['13', 'Tom'] C 变量p2的正则匹配存在忽略分组的规则 D 这段代码不会报错