Python编程入门指南

发表时间: 2021-01-04 22:57

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