Python程序设计
1. Python安装扩展库常用的是__pip_____工具。
l pip 是 Python 包管理工具,该工具提供了对Python 包的查找、下载、安装、卸载的功能。
l 目前如果你在 http://python.org 下载最新版本的安装包,则是已经自带了该工具。
l Python 2.7.9 + 或 Python 3.4+ 以上版本都自带 pip 工具。
l pip 官网:
https://pypi.org/project/pip/
l 你可以通过以下命令来判断是否已安装:
2.Python程序文件扩展名主要有_____py_____和pyw两种,其中后者常用于GUI程序。
l python程序文件的扩展名称是什么
l python程序的扩展名有.py、.pyc、.pyo和.pyd。.py是源文件,.pyc是源文件编译后的文件,.pyo是源文件优化编译后的文件,.pyd是其他语言写的python库。
l 扩展名
l 在写Python程序时我们常见的扩展名是py, pyc,其实还有其他几种扩展名。下面是几种扩展名的用法。
l py:py就是最基本的源码扩展名。windows下直接双击运行会调用python.exe执行。
l pyw:pyw是另一种源码扩展名,跟py唯一的区别是在windows下双击pyw扩展名的源码会调用pythonw.exe执行源码,这种执行方式不会有命令行窗口。主要用于GUI程序发布时不需要看到控制台信息的情况。
l pyc:在执行python代码时经常会看到同目录下自动生成同名的pyc文件。这是python源码编译后的字节码,一般会在代码执行时自动生成你代码中引用的py文件的pyc文件。这个文件可以直接执行,用文本编辑器打开也看不到源码。
l pyo:pyo是跟pyc类似的优化编码后的文件。
l pyd:pyd并非从python程序生成,而是其他语言写成的可以被python调用的扩展。
3、 使用pip工具升级科学计算扩展库numpy的完整命令是__pip install --upgrade numpy _______________。
4、 使用pip工具查看当前已安装的Python扩展库的完整命令是___pip list__________。
5、 在Python中_None__表示空类型。
6、 查看变量类型的Python内置函数是___type()_____________。
7、查看变量内存地址的Python内置函数是____id()_____________
8、 Python运算符中用来计算整数商的是__//____。
9、 Python 的3/2的是___1.5____。
10、表达式 int('123') 的值为___123______
解释:默认以10进制解析字符串'123',将其转换成一个整型。
若以int('123',16)
16进制的123对应10进制的291
11、 表达式 int('101',2) 的值为__5_____。
若以int('101',2)
2进制的101对应10进制的5------------1*2**0+0*2**1+1*2**2=5
12、 Python 3.x语句 print(1, 2, 3, sep=':') 的输出结果为__1:2:3_________。
13、 表达式 int(4**0.5) 的值为__2_______。
14、 Python内置函数_len()__可以返回列表list、元组turple、字典dict、集合set、字符串以及range对象中元素个数。
15、 表达式 3 //2的值为___1_______。
16、 表达式type(最新版本)的值为_______set_____________。
17、 表达式isinstance('Hello world', str)的值为__True__________。
Python的isinstance()函数用于检查对象是否为指定类的实例。
第二章 Python序列
18、 表达式[1, 2, 3]*3的执行结果为_[1, 2, 3, 1, 2, 3, 1, 2, 3]__ _____________。
19、 list(map(str, [1, 2, 3]))的执行结果为 __ _[‘1’,’2’,’3’]__________ .
20、 语句x = 3==3, 5执行结束后,变量x的值为__(True,5)___________。
21、 假设列表对象aList的值为[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那么切片aList[3:7]得到的值是_________[6, 7, 9, 11]_____________。
22、 使用列表推导式生成包含10个数字5的列表,语句可以写为__[5 for i in range(10)]_____________。
23、 假设有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],请使用一个语句将这两个列表的内容转换为字典,并且以列表a中的元素为“键”,以列表b中的元素为“值”,这个语句可以写为___map(zip(a,b))____________。
24、 任意长度的Python列表、元组和字符串中最后一个元素的下标为_-1_______。
25、 Python语句list(range(1,10,3))执行结果为_[1, 4,7]_______。
Python语句list(range(1,10,3))执行结果为[1,4,7]。
语法是:range(start,stop[,step])
参数说明:
(1)start:计数从start开始,bai默认是从0开始。例如range(5)等价于range(0,5);
(2)stop:计数到stop结束,但不包括stop。例如:range(0,5)是[0,1,2,3,4]没有5;
(3)step:步长,默认为1。例如:range(0,5)等价于range(0,5,1)。
因此,range(1,10,3)的意思是1到10之间的tuple,间隔为3,所以结果是(1,4,7)。
列表(List)是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
所以,list(range(1,10,3))执行结果为[1,4,7]。
26、 切片操作list(range(6))[::2]执行结果为_[0,2,4]_______。
27、 切片操作x = [1,2,3,4,5,6];x[::-1] 执行结果为_ [6,5,4,3,2,1]__。
28、 表达式 sorted([111, 2, 33], key=lambda x: len(str(x))) 的值为_[2,33,111]___________。(从小到大排序)
描述
sorted() 函数对所有可迭代的对象进行排序操作。
29、 表达式 sorted([111, 2, 33], key=lambda x: -len(str(x))) 的值为_[111,33,2]___________。(从大到小排序)
30、 已知x=3和y=5,执行语句 x, y = y, x 后x的值是__5__。(调换)
31、 tp = (1,2,[3,4,5]);type(tp)结果为__turple___(元组),能执行tp[0]=0的操作吗?填 “能”还是“不 能”。不能
想必大家都知道,在Python数据类型中有两个对象:元组 tuple 和列表 list 。
它们的写法和用法都十分相似,傻傻分不清楚。可能有的同学就会疯狂的去网上查找它们之间的区别了,可是查到的无外乎有以下几种说法:
list 是可变的对象,元组 tuple 是不可变的对象!
由于 tuple 不可变,所以使用 tuple 可以使代码更安全!等等 ...
但是 tuple 究竟有什么用呢,到头来还是不知道。
32、 字典中多个元素之间使用___,_____分隔开,每个元素 的“键”与“值”之间使用____:____分隔开。
33、 字典对象的______items()_______方法返回字典中的“键-值对”列表。(items())
34、 字典对象的_____(keys())_______方法返回字典的“键”列表。(keys())
35、 字典对象的______(values())________方法返回字典的“值”列表。(values())
36、 d = {"name":"Tom","number":"20150516021"}; type(d)结果为__dict____,list(d.keys())结果为_ [‘name’,’number’] 。
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
键必须是唯一的,但值则不必。
值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
37、 book = {'title':'Python入门经典', 'author':'云创', 'price':59.90},items = book.items() ;输出结果为__ dict_items([('title', 'Python入门经典'), ('author', '云创'), ('price', 59.9)])__,把该结果转换成列表类型________________。(dict_items([('title', 'Python入门经典'), ('author', '云创'), ('price', 59.9)]))||||(list(book.items()))
描述
Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。
语法
items()方法语法:dict.items()
38、导入math库的3种方法:1、import math ;math. floor(3.15);2、import math as mt; mt.floor(3.15) ;3、from m ath import *; floor(3.15) ;
39、 已知 x = {1:2},那么执行语句 x[2] = 3之后,x的值为__ {1: 2, 2: 3}______________。字典赋值
40、 表达式set([1, 1, 2, 3])的值为_{1,2,3}_______。()
1. set 的基本内容
基本特点:
(1) 无序性
(2) 确定性
(3) 不重复性
1. set() 实质:内部进行 可迭代性的 for 循环
41、 使用列表推导式得到100以内所有能被13整除的数的代码可以写作_____[i for i in range(100) if i%13==0]__________________________。
42、 已知 x = [3 , 7, 5],那么执行语句 x.sort(reverse=True)之后,x的值为_____[7, 5, 3]____________。([7, 5, 3])
对于Python列表的排序,易混淆sort()和reverse()方法。
sort()方法是对列表进行顺序排序,如字母顺序,但是当你设置传递参数reverse=“true”时,可以令列表逆序排列(指字母的逆序或数字)。
reverse()方法也是对列表进行逆序排序,但是它是使反转列表元素的排列顺序。
43、 已知 x = [3, 7, 5],那么执行语句 x = x.sort(reverse=False)之后,x的值为____[3,5,7]_____。([3,5,7])
44、 已知 x = [1, 11, 111],那么执行语句 x.sort(key=lambda x: len(str(x)), reverse=True) 之后,x的值为_____ [111, 11, 1]_____________。
我这里说的是python字典类型的sort()方法:
sort(key = lambda x:x[0],reverse = True)
解释:这里的lambda是默认的,别管他,后面的x:x[0]代表字典的键(key)给sort排序,x:x[1]代表字典的值(values)给sort排序,reverse=true表示降序,reverse=false表示逆序。
45、 已知 x = [1, 2, 3, 2, 3],执行语句 x.pop() 之后,x的值为__[1, 2, 3, 2]___________。
描述
pop() 函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
语法
pop()方法语法:
list.pop([index=-1])
参数
obj -- 可选参数,要移除列表元素的索引值,不能超过列表总长度,默认为 index=-1,删除最后一个列表值。
46、 表达式 [x for x in [1,2,3,4,5] if x<3] 的值为_______[1, 2]______________。([1, 2])
47、 已知 vec = [[1,2], [3,4]],则表达式 [col for row in vec for col in row] 的值为____[1,2,3,4]______________________。
48、 已知 x = [3, 5, 7],那么执行语句 x[1:] = [2]之后,x的值为_[3,2]_______________。
49、 已知 x = [1, 2, 3, 2, 3],执行语句 x.remove(2) 之后,x的值为_ [1, 3, 3]____。
50、 已知列表 x = [1, 2, 3],那么执行语句 x.insert(0, 4) 只有,x的值为__[4, 1, 2, 3]_________。([4, 1, 2, 3] )
51、 已知 x = (3), 那么表达式 x * 3 的值为__9____。
52、 已知 x = (3,),那么表达式 x * 3 的值为_(3,3,3)_______。
53、 表达式 [1] * 2 的值为_____[1,1]____________。
54、 表达式 [1, 2] * 2 的值为___[1, 2,1,2]___________。
55、 已知列表 x = [1, 2, 3, 4],那么执行语句 del x[1] 之后x的值为__[1,3,4]__________。[1,3,4]
56、 表达式 {1, 2, 3, 4, 5} ^ {4, 5, 6, 7} 的值为__{1, 2, 3, 6, 7}____。
57、 表达式 {1, 2, 3} - {3, 4, 5} 的值为_{1,2}________。
58、 表达式 {1, 2, 3} | {3, 4, 5} 的值为__{1,2,3,4,5}___________。
59、 表达式 {1, 2, 3} & {3, 4, 5} 的值为_最新版本_________。
60、 random模块中__shuffle()___方法的作用是将列表中的元素随机乱序。
61、 表达式 (1, 2, 3)+(4, 5) 的值为___(1, 2, 3,4, 5)______。
62、 表达式 [1, 2] + [3] 的值为____[1,2,3]______________。
63、 表达式 dict(zip([1, 2], [3, 4])) 的值为__{1:3,2:4}__________。
64、 已知 x = [[1, 2, 3,], [4, 5, 6]],那么表达式 sum([i*j for i,j in zip(*x)]) 的值为_32_____。
65、 已知列表 x = [1.0, 2.0, 3.0],那么表达式 sum(x)/len(x) 的值为___2.0________。
66、 已知 x = {1:2, 2:3, 3:4},那么表达式 sum(x) 的值为___6_____。
67、 已知 x = {1:2, 2:3, 3:4},那么表达式 sum(x.values()) 的值为_9_____。
68、 已知 x, y = map(int, ['1', '2']),那么表达式 x + y 的值为__3____。
69、 已知x为非空列表,那么表达式 x.sort() == sorted(x) 的值为___False___。
70、 已知列表 x = [1, 3, 2],那么执行语句 y = list(reversed(x)) 之后,x的值为___[1, 3, 2]_______,y的值为_____[2, 3, 1]_____。
第3章 选择结构与循环结构
71、 表达式 3<5>2 的值为_______________。(True)
72、 已知 x = {'a':'b', 'c':'d'},那么表达式 'a' in x 的值为_____True _________。
73、 已知 x = {'a':'b', 'c':'d'},那么表达式 'b' in x 的值为_______False_______。
74、 已知 x = {'a':'b', 'c':'d'},那么表达式 'b' in x.values() 的值为______True________。
75、 Python中用于表示逻辑与、逻辑或、逻辑非运算的关键字分别是___and______、____no_______、____or_____。
Python的逻辑运算符有and(逻辑与,两者都为真才为真)、not(逻辑非,对当前逻辑取反)、or(逻辑或,两者中有一为真即为真)三个。
76、 Python 3.x语句 for i in range(3):print(i, end=',') 的输出结果为________0,1,2,_____________。
77、 Python 3.x语句 print(1, 2, 3, sep=',') 的输出结果为_______1,2,3_________。
78、 对于带有else子句的for循环和while循环,当循环因循环条件不成立而自然结束时____会____(会?不会?)执行else中的代码。(会)
for i in range(5):
... if(i==2):
... print("inner")
... break
... else:
... print("out")
运行结果是:inner
第4章 字符串与正则表达式
79、 已知列表对象x = ['11', '2', '3'],则表达式 max(x) 的值为___________。('3')
此答案为bai ‘3’
因为 这是三个字符du 进行首字符sac码比较zhi 好比如 ‘daoabc’<‘bbc’ 因为首字母zhuana<b
同理 ‘11’‘2’‘3’首字符最大的是3 所以答案是‘3’
注意 这不是数字int比较 而是字符str比较!!!
顺便diss一下 没有论证过的各位不要乱答题,本来就不会还误导别人,恶心!
80、 已知 path = r'c:\test.html',那么表达式 path[:-4]+'htm' 的值为__'c:\test.htm'________。
81、 表达式 list(str([1,2,3])) == [1,2,3] 的值为____False__________。
82、 表达式 '%c'%65 的值为____A_____。
83、 表达式 '%s'%65 的值为____65______。
84、 表达式 'The first:函数定义, the second is {0}'.format(65,97) 的值为______ The first:97,the second is 65________________________。
85、 '{0:d},{0:x},{0:c}'.format(65)的值为___'65,41,A'__________。
86、 表达式 isinstance('abcdefg', str) 的值为____True________。
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
isinstance() 与 type() 区别:
l type() 不会认为子类是一种父类类型,不考虑继承关系。
l isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
87、 表达式 ':'.join('abcdefg'.split('cd')) 的值为___ab:efg______。
88、 表达式 ':'.join('1,2,3,4,5'.split(',')) 的值为___1:2:3:4:5_______________。
89、 表达式 r'c:\windows\notepad.exe'.endswith('.exe') 的值为_____________。(True)
90、 表达式 r'c:\windows\notepad.exe'.endswith(('.jpg', '.exe')) 的值为_______。(True)
91、 表达式 'C:\Windows\notepad.exe'.startswith('C:') 的值为_________。(True)
92、 已知 x = 'a234b123c',并且re模块已导入,则表达式 re.split('\d+', x) 的值为_________________。(['a', 'b', 'c'])
93、 在设计正则表达式时,字符_______紧随任何其他限定符(*、+、?、{n}、{n,}、{n,m})之后时,匹配模式是“非贪心的”,匹配搜索到的、尽可能短的字符串。( )
94、 正则表达式元字符________用来表示该符号前面的字符或子模式1次或多次出现。(+)
95、 假设re模块已导入,那么表达式 re.findall('[a-z]+?', 'abcd1234') 的值为___________________。(['a', 'b', 'c', 'd'])
96、 代码 print(re.match('t ^[a-zA-Z]+$','abcDEFG000')) 的输出结果为___False______。
97、 当在字符串前加上小写字母_____或大写字母_____表示原始字符串,不对其中的任何字符进行转义。(r、R)
98、 假设正则表达式模块re已导入,那么表达式 re.sub('\d+', '1', 'a12345bbbb67c890d0e') 的值为_____________________。('a1bbbb1c1d1e')
99、 已知 x = 'a b c d',那么表达式 ','.join(x.split()) 的值为___________。('a,b,c,d')
100、 正则表达式元字符________用来表示该符号前面的字符或子模式0次或多次出现。(*)
101、 表达式 [str(i) for i in range(3)] 的值为____________。(['0', '1', '2'])
102、 表达式 eval('3+5') 的值为_________________。(8)
103、 表达式 eval('[1, 2, 3]') 的值为__________________。([1, 2, 3])
104、 表达式 'aaasdf'.lstrip('as') 的值为________________。('df')
105、 表达式 'aaasdf'.lstrip('af') 的值为________________。('sdf')
106、 表达式 'aaasdf'.strip('af') 的值为______________。('sd')
107、 表达式 'aaasdf'.rstrip('af') 的值为_______________。('aaasd')
108、 表达式 'Hello world!'.count('l') 的值为___________。(3)
109、 假设正则表达式模块re已正确导入,那么表达式''.join(re.findall('\d+', 'abcd1234'))的值为_____________________。('1234')
110、 假设正则表达式模块re已正确导入,那么表达式re.findall('\d+?', 'abcd1234')的值为_____________________。(['1', '2', '3', '4'])
111、 正则表达式模块re的__________方法用来编译正则表达式对象。(compile())
112、 正则表达式模块re的______________方法用来在字符串开始处进行指定模式的匹配。(match())
113、 正则表达式模块re的______________方法用来在整个字符串中进行指定模式的匹配。(search())
第5章 函数定义与使用
114、 Python中定义函数的关键字是_________________。(def)
115、 在函数内部可以通过关键字________________来定义全局变量。(global)
116、 如果函数中没有return语句或者return语句不带任何返回值,那么该函数的返回值为_________________。(None)
117、 表达式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 的值为_________。([3])
118、 已知函数定义def demo(x, y, op):return eval(str(x)+op+str(y)),那么表达式demo(3, 5, '+')的值为______________________。(8)
119、 已知 g = lambda x, y=3, z=5: x+y+z,那么表达式 g(2) 的值为________。(10)
120、 已知函数定义 def func(*p):return sum(p),那么表达式 func(1,2,3) 的值为______。(6)(*表示接受参数为turple类型)
121、 已知函数定义 def func(**p):return sum(p.values()),那么表达式 func(x=1, y=2, z=3) 的值为________。(6)(**表示接受参数为dict类型)
122、 已知函数定义 def func(**p):return ''.join(sorted(p)),那么表达式 func(x=1, y=2, z=3)的值为__________。('xyz')
123、 已知 f = lambda x: 5,那么表达式 f(3)的值为_____________。(5)