侵權聯繫我刪除:
【寫在這裏,方便右鍵百度搜索!】
《Python程序設計》題庫
- 填空題
- Python安裝擴展庫常用的是_______工具。(pip)
- Python標準庫math中用來計算平方根的函數是__________。(sqrt)
- Python程序文件擴展名主要有__________和________兩種,其中後者常用於GUI程序。(py、pyw)
- Python源代碼程序編譯後的文件擴展名爲_________。(pyc)
- 使用pip工具升級科學計算擴展庫numpy的完整命令是_________________。(pip install --upgrade numpy)
- 使用pip工具查看當前已安裝的Python擴展庫的完整命令是_____________。(pip list)
- 在IDLE交互模式中瀏覽上一條語句的快捷鍵是__________。(Alt+P)
- 使用pip工具查看當前已安裝Python擴展庫列表的完整命令是_________。(pip list)
- 在Python中__________表示空類型。(None)
- 列表、元組、字符串是Python的_________(有序?無序)序列。(有序)
- 查看變量類型的Python內置函數是________________。(type())
- 查看變量內存地址的Python內置函數是_________________。(id())
- 以3爲實部4爲虛部,Python複數的表達形式爲___________或________。(3+4j、3+4J)
- Python運算符中用來計算整商的是_________。(//)
- Python運算符中用來計算集合並集的是_______。(|)
- 使用運算符測試集合包含集合A是否爲集合B的真子集的表達式可以寫作_______。(A<B)
- 表達式[1, 2, 3]*3的執行結果爲______________________。([1, 2, 3, 1, 2, 3, 1, 2, 3])
- list(map(str, [1, 2, 3]))的執行結果爲_____________________。([‘1’, ‘2’, ‘3’])
- 語句x = 3==3, 5執行結束後,變量x的值爲_____________。((True, 5))
- 已知 x = 3,那麼執行語句 x += 6 之後,x的值爲_______________。(9)
- 已知 x = 3,並且id(x)的返回值爲 496103280,那麼執行語句 x += 6 之後,表達式 id(x) == 496103280 的值爲___________。(False)
- 已知 x = 3,那麼執行語句 x *= 6 之後,x的值爲________________。(18)
- 爲了提高Python代碼運行速度和進行適當的保密,可以將Python程序文件編譯爲擴展名__________的文件。(pyc)
- 表達式“[3] in [1, 2, 3, 4]”的值爲________________。(False)
- 列表對象的sort()方法用來對列表元素進行原地排序,該函數返回值爲 。(None)
- 假設列表對象aList的值爲[3, 4, 5, 6, 7, 9, 11, 13, 15, 17],那麼切片aList[3:7]得到的值是______________________。([6, 7, 9, 11])
- 使用列表推導式生成包含10個數字5的列表,語句可以寫爲_______________。([5 for i in range(10)])
- 假設有列表a = ['name', 'age', 'sex']和b = ['Dong', 38, 'Male'],請使用一個語句將這兩個列表的內容轉換爲字典,並且以列表a中的元素爲“鍵”,以列表b中的元素爲“值”,這個語句可以寫爲_____________________。(c = dict(zip(a, b)))
- 任意長度的Python列表、元組和字符串中最後一個元素的下標爲________。(-1)
- Python語句''.join(list('hello world!'))執行的結果是____________________。('hello world!')
- 轉義字符r’\n’的含義是___________________。(回車換行)
- Python語句list(range(1,10,3))執行結果爲___________________。([1, 4, 7])
- 表達式 list(range(5)) 的值爲________________。([0, 1, 2, 3, 4])
- ______________命令既可以刪除列表中的一個元素,也可以刪除整個列表。(del)
- 已知a = [1, 2, 3]和b = [1, 2, 4],那麼id(a[1])==id(b[1])的執行結果爲___________。(True)
- 表達式 int('123', 16) 的值爲_________。(291)
- 表達式 int('123', 8) 的值爲_________。(83)
- 表達式 int('123') 的值爲_____________。(123)
- 表達式 int('101',2) 的值爲__________。(5)
- 表達式 abs(-3) 的值爲___________。(3)
- 切片操作list(range(6))[::2]執行結果爲________________。([0, 2, 4])
- 使用切片操作在列表對象x的開始處增加一個元素3的代碼爲_________。(x[0:0] = [3])
- 語句sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])執行結果爲_________。(False)
- 表達式 'ab' in 'acbed' 的值爲________。(False)
- Python 3.x語句 print(1, 2, 3, sep=':') 的輸出結果爲____________。(1:2:3)
- 表達式 sorted([111, 2, 33], key=lambda x: len(str(x))) 的值爲________________。([2, 33, 111])
- 假設n爲整數,那麼表達式 n&1 == n%2 的值爲_____________。(True)
- 表達式 int(4**0.5) 的值爲____________。(2)
- 達式 sorted([111, 2, 33], key=lambda x: -len(str(x))) 的值爲____________。([111, 33, 2])
- Python內置函數_________可以返回列表、元組、字典、集合、字符串以及range對象中元素個數。(len())
- Python內置函數____________用來返回序列中的最大元素。(max())
- Python內置函數____________用來返回序列中的最小元素。(min())
- Python內置函數________________用來返回數值型序列中所有元素之和。(sum())
- 已知列表對象x = ['11', '2', '3'],則表達式 max(x) 的值爲___________。('3')
- 表達式 min(['11', '2', '3']) 的值爲_________________。('11')
- 已知列表對象x = ['11', '2', '3'],則表達式max(x, key=len) 的值爲___________。('11')
- 語句 x = (3,) 執行後x的值爲_______________。((3,))
- 語句 x = (3) 執行後x的值爲________________。(3)
- 已知x=3和y=5,執行語句 x, y = y, x 後x的值是____。(5)
- 可以使用內置函數_______________查看包含當前作用域內所有全局變量和值的字典。(globals())
- 可以使用內置函數___________________查看包含當前作用域內所有局部變量和值的字典。(locals()()
- 字典中多個元素之間使用____________分隔開,每個元素的“鍵”與“值”之間使用________分隔開。(逗號、冒號)
- 字典對象的___________方法可以獲取指定“鍵”對應的“值”,並且可以在指定“鍵”不存在的時候返回指定值,如果不指定則返回None。(get())
- 字典對象的_____________方法返回字典中的“鍵-值對”列表。(items())
- 字典對象的____________方法返回字典的“鍵”列表。(keys())
- 字典對象的______________方法返回字典的“值”列表。(values())
- 已知 x = {1:2},那麼執行語句 x[2] = 3之後,x的值爲________________。({1: 2, 2: 3})
- 表達式 {1, 2, 3, 4} - {3, 4, 5, 6}的值爲__________________。({1, 2})
- 表達式set([1, 1, 2, 3])的值爲____________________。({1, 2, 3})
- 關鍵字__________用於測試一個對象是否是一個可迭代對象的元素。(in)
- 使用列表推導式得到100以內所有能被13整除的數的代碼可以寫作___________________________________。([i for i in range(100) if i%13==0])
- 表達式 3<5>2 的值爲_______________。(True)
- 已知 x = {'a':'b', 'c':'d'},那麼表達式 'a' in x 的值爲______________。(True)
- 已知 x = {'a':'b', 'c':'d'},那麼表達式 'b' in x 的值爲______________。(False)
- 已知 x = {'a':'b', 'c':'d'},那麼表達式 'b' in x.values() 的值爲______________。(True)
- 表達式 1<2<3 的值爲_________。(True)
- 表達式 3 or 5 的值爲________(3)
- 表達式 0 or 5 的值爲_________(5)
- 表達式 3 and 5 的值爲____________。(5)
- 表達式 3 and not 5 的值爲______________。(False)
- 表達式 3 | 5 的值爲__________。(7)
- 表達式 3 & 6 的值爲_________。(2)
- 表達式 3 ** 2 的值爲_________。(9)
- 表達式 3 * 2的值爲___________。(6)
- 已知 x = [3, 5, 7],那麼表達式 x[10:]的值爲____________。([])
- 已知 x = [3, 5, 7],那麼執行語句 x[len(x):] = [1, 2]之後,x的值爲______________。([3, 5, 7, 1, 2])
- 已知 x = [3, 7, 5],那麼執行語句 x.sort(reverse=True)之後,x的值爲_________________。([7, 5, 3])
- 已知 x = [3, 7, 5],那麼執行語句 x = x.sort(reverse=True)之後,x的值爲_________。(None)
- 已知 x = [1, 11, 111],那麼執行語句 x.sort(key=lambda x: len(str(x)), reverse=True) 之後,x的值爲__________________。([111, 11, 1])
- 表達式 list(zip([1,2], [3,4])) 的值爲________________________。([(1, 3), (2, 4)])
- 已知 x = [1, 2, 3, 2, 3],執行語句 x.pop() 之後,x的值爲_____________。([1, 2, 3, 2])
- 表達式 list(map(list,zip(*[[1, 2, 3], [4, 5, 6]]))) 的值爲________________。([[1, 4], [2, 5], [3, 6]])
- 表達式 [x for x in [1,2,3,4,5] if x<3] 的值爲_____________________。([1, 2])
- 表達式 [index for index, value in enumerate([3,5,7,3,7]) if value == max([3,5,7,3,7])] 的值爲__________________。([2, 4])
- 已知 x = [3,5,3,7],那麼表達式 [x.index(i) for i in x if i==3] 的值爲______________。([0, 0])
- 已知列表 x = [1, 2],那麼表達式 list(enumerate(x)) 的值爲_______________。([(0, 1), (1, 2)])
- 已知 vec = [[1,2], [3,4]],則表達式 [col for row in vec for col in row] 的值爲__________________________。([1, 2, 3, 4])
- 已知 vec = [[1,2], [3,4]],則表達式 [[row[i] for row in vec] for i in range(len(vec[0]))] 的值爲_________________________。([[1, 3], [2, 4]])
- 已知 x = list(range(10)),則表達式 x[-4:] 的值爲__________。([6, 7, 8, 9])
- 已知 path = r'c:\test.html',那麼表達式 path[:-4]+'htm' 的值爲__________。('c:\\test.htm')
- 已知 x = [3, 5, 7],那麼執行語句 x[1:] = [2]之後,x的值爲________________。([3, 2])
- 已知 x = [3, 5, 7],那麼執行語句 x[:3] = [2]之後,x的值爲________________。([ 2])
- 已知x爲非空列表,那麼執行語句y = x[:]之後,id(x[0]) == id(y[0])的值爲__________。(True)
- 已知 x = [1, 2, 3, 2, 3],執行語句 x.remove(2) 之後,x的值爲____________。([1, 3, 2, 3])
- 表達式 3<<2 的值爲_______________。(12)
- 表達式 65 >> 1 的值爲_____________。(32)
- 表達式 chr(ord('a')^32) 的值爲___________。('A')
- 表達式 chr(ord('a')-32) 的值爲___________。('A')
- 表達式 abs(3+4j) 的值爲____________。(5.0)
- 表達式 callable(int) 的值爲___________。(True)
- 表達式 list(str([1,2,3])) == [1,2,3] 的值爲______________。(False)
- 表達式 str([1, 2, 3]) 的值爲__________________。('[1, 2, 3]')
- 表達式 str((1, 2, 3)) 的值爲__________________。('(1, 2, 3)')
- Python中用於表示邏輯與、邏輯或、邏輯非運算的關鍵字分別是_________、___________、_________。(and、or、not)
- Python 3.x語句 for i in range(3):print(i, end=',') 的輸出結果爲_____________________。(0,1,2,)
- Python 3.x語句 print(1, 2, 3, sep=',') 的輸出結果爲________________。(1,2,3)
- 對於帶有else子句的for循環和while循環,當循環因循環條件不成立而自然結束時________(會?不會?)執行else中的代碼。(會)
- 在循環語句中,__________語句的作用是提前結束本層循環。(break)
- 在循環語句中,_______語句的作用是提前進入下一次循環。(continue)
- 表達式 sum(range(1, 10, 2)) 的值爲____________。(25)
- 表達式 sum(range(1, 10)) 的值爲_____________。(45)
- 表達式 '%c'%65 的值爲_________。('A')
- 表達式 '%s'%65 的值爲__________。('65')
- 表達式 '%d,%c' % (65, 65) 的值爲________。('65,A')
- 表達式 'The first:{1}, the second is {0}'.format(65,97) 的值爲______________________________。('The first:97, the second is 65')
- 表達式 '{0:#d},{0:#x},{0:#o}'.format(65) 的值爲_____________。('65,0x41,0o101')
- 表達式 isinstance('abcdefg', str) 的值爲____________。(True)
- 表達式 isinstance('abcdefg', object) 的值爲_____________。(True)
- 表達式 isinstance(3, object) 的值爲_____________。(True)
- 表達式 'abcabcabc'.rindex('abc') 的值爲____________。(6)
- 表達式 ':'.join('abcdefg'.split('cd')) 的值爲______________。('ab:efg')
- 表達式 'Hello world. I like Python.'.rfind('python') 的值爲________。(-1)
- 表達式 'abcabcabc'.count('abc') 的值爲_____________。(3)
- 表達式 'apple.peach,banana,pear'.find('p') 的值爲______________。(1)
- 表達式 'apple.peach,banana,pear'.find('ppp') 的值爲________。(-1)
- 表達式 'abcdefg'.split('d') 的值爲__________________。(['abc', 'efg'])
- 表達式 ':'.join('1,2,3,4,5'.split(',')) 的值爲__________________。('1:2:3:4:5')
- 表達式 ','.join('a b ccc\n\n\nddd '.split()) 的值爲______________。('a,b,ccc,ddd')
- 表達式 'Hello world'.upper() 的值爲___________。('HELLO WORLD')
- 表達式 'Hello world'.lower() 的值爲_____________。('hello world')
- 表達式 'Hello world'.lower().upper() 的值爲___________。('HELLO WORLD')
- 表達式 'Hello world'.swapcase().swapcase() 的值爲______________。('Hello world')
- 表達式 r'c:\windows\notepad.exe'.endswith('.exe') 的值爲_____________。(True)
- 表達式 r'c:\windows\notepad.exe'.endswith(('.jpg', '.exe')) 的值爲_______。(True)
- 表達式 'C:\\Windows\\notepad.exe'.startswith('C:') 的值爲_________。(True)
- 表達式 len('Hello world!'.ljust(20)) 的值爲_________。(20)
- 表達式 len('abcdefg'.ljust(3)) 的值爲_________。(7)
- 表達式 len([i for i in range(10)]) 的值爲__________。(10)
- 表達式 len(range(1,10)) 的值爲_____________。(9)
- 表達式 range(10)[-1] 的值爲____________。(9)
- 表達式 range(10,20)[4] 的值爲__________。(14)
- 表達式 round(3.4) 的值爲___________。(3)
- 表達式 round(3.7) 的值爲_________。(4)
- 表達式 'a' + 'b' 的值爲_____________。('ab')
- 已知 x = '123' 和 y = '456',那麼表達式 x + y 的值爲______________。('123456')
- 表達式 'a'.join('abc'.partition('a')) 的值爲________________。('aaabc')
- 表達式 re.split('\.+', 'alpha.beta...gamma..delta') 的值爲_______________________。(['alpha', 'beta', 'gamma', 'delta'])
- 已知 x = 'a234b123c',並且re模塊已導入,則表達式 re.split('\d+', x) 的值爲_________________。(['a', 'b', 'c'])
- 表達式 ''.join('asdssfff'.split('sd')) 的值爲____________。('assfff')
- 表達式 ''.join(re.split('[sd]','asdssfff')) 的值爲_______________。('afff')
- 假設re模塊已導入,那麼表達式 re.findall('(\d)\\1+', '33abcd112') 的值爲___________________。(['3', '1'])
- 語句 print(re.match('abc', 'defg')) 輸出結果爲_____________。(None)
- 表達式 'Hello world!'[-4] 的值爲________________。('r')
- 表達式 'Hello world!'[-4:] 的值爲________________。('rld!')
- 表達式 'test.py'.endswith(('.py', '.pyw')) 的值爲__________。(True)
- 已知 x = (3), 那麼表達式 x * 3 的值爲__________。(9)
- 已知 x = (3,),那麼表達式 x * 3 的值爲_____________。((3, 3, 3))
- 表達式 len('abc'.ljust(20)) 的值爲______________。(20)
- 代碼 print(re.match('^[a-zA-Z]+$','abcDEFG000')) 的輸出結果爲_________。(None)
- 當在字符串前加上小寫字母_____或大寫字母_____表示原始字符串,不對其中的任何字符進行轉義。(r、R)
- 在設計正則表達式時,字符_______緊隨任何其他限定符(*、+、?、{n}、{n,}、{n,m})之後時,匹配模式是“非貪心的”,匹配搜索到的、儘可能短的字符串。(?)
- 假設正則表達式模塊re已導入,那麼表達式 re.sub('\d+', '1', 'a12345bbbb67c890d0e') 的值爲_____________________。('a1bbbb1c1d1e')
- 假設列表對象x = [1, 1, 1],那麼表達式id(x[0]) == id(x[2])的值爲_____________。(True)
- 已知列表 x = list(range(10)),那麼執行語句 del x[::2]之後,x的值爲_________。([1, 3, 5, 7, 9])
- 已知列表 x = [1, 2, 3, 4],那麼執行語句 del x[1] 之後x的值爲____________。([1, 3, 4])
- 表達式 [1] * 2 的值爲_________________。([1, 1])
- 表達式 [1, 2] * 2 的值爲______________。([1, 2, 1, 2])
- 已知列表 x = [1, 2, 3],那麼執行語句 x.insert(1, 4) 只有,x的值爲___________。([1, 4, 2, 3])
- 已知列表 x = [1, 2, 3],那麼執行語句 x.insert(0, 4) 只有,x的值爲___________。([4, 1, 2, 3])
- 已知列表 x = [1, 2, 3],那麼執行語句 x.pop(0) 之後,x的值爲_________。([2, 3])
- 已知 x = [[1]] * 3,那麼執行語句 x[0][0] = 5之後,變量x的值爲________________。([[5], [5], [5]])
- 表達式 list(map(lambda x: x+5, [1, 2, 3, 4, 5])) 的值爲______________________。([6, 7, 8, 9, 10])
- 表達式 {1, 2, 3, 4, 5} ^ {4, 5, 6, 7} 的值爲_________________________。({1, 2, 3, 6, 7})
- 表達式 5 if 5>6 else (6 if 3>2 else 5) 的值爲_________。(6)
- 已知 x = [1, 2, 3],那麼執行語句 x[len(x)-1:] = [4, 5, 6]之後,變量x的值爲_________________________________。([1, 2, 4, 5, 6])
- 表達式 len(range(1, 10)) 的值爲___________。(9)
- 表達式 len('中國'.encode('utf-8')) 的值爲___________。(6)
- 表達式 len('中國'.encode('gbk')) 的值爲____________。(4)
- 表達式 chr(ord('A')+2) 的值爲__________。('C')
- 已知x是一個列表對象,那麼執行語句 y = x[:] 之後表達式 id(x) == id(y) 的值爲___________。(False)
- 表達式 sorted([13, 1, 237, 89, 100], key=lambda x: len(str(x))) 的值爲___________________________________。([1, 13, 89, 237, 100])
- Python中定義函數的關鍵字是_________________。(def)
- 在函數內部可以通過關鍵字________________來定義全局變量。(global)
- 如果函數中沒有return語句或者return語句不帶任何返回值,那麼該函數的返回值爲_________________。(None)
- 表達式 sum(range(10)) 的值爲________________。(45)
- 表達式 sum(range(1, 10, 2)) 的值爲____________。(25)
- 表達式 'abcab'.replace('a','yy') 的值爲___________。('yybcyyb')
- 已知 table = ''.maketrans('abcw', 'xyzc'),那麼表達式 'Hellow world'.translate(table) 的值爲______________________。('Helloc corld')
- 表達式 'hello world, hellow every one'.replace('hello', 'hi') 的值爲________________________。('hi world, hiw every one')
- 已知字符串 x = 'hello world',那麼執行語句 x.replace('hello', 'hi') 之後,x的值爲____________。('hello world')
- 正則表達式元字符________用來表示該符號前面的字符或子模式1次或多次出現。(+)
- 已知 x = 'a b c d',那麼表達式 ','.join(x.split()) 的值爲___________。('a,b,c,d')
- 正則表達式元字符________用來表示該符號前面的字符或子模式0次或多次出現。(*)
- 表達式 'abcab'.strip('ab') 的值爲__________。('c')
- 表達式 [str(i) for i in range(3)] 的值爲____________。(['0', '1', '2'])
- 表達式 'abc.txt'.endswith(('.txt', '.doc', '.jpg')) 的值爲___________。(True)
- 表達式 list(filter(None, [0,1,2,3,0,0])) 的值爲___________________。([1, 2, 3])
- 表達式 list(filter(lambda x:x>2, [0,1,2,3,0,0])) 的值爲_________。([3])
- 表達式 list(range(50, 60, 3)) 的值爲_______________________。([50, 53, 56, 59])
- 表達式 list(filter(lambda x: x%2==0, range(10))) 的值爲__________________________。([0, 2, 4, 6, 8])
- 表達式 list(filter(lambda x: len(x)>3, ['a', 'b', 'abcd'])) 的值爲___________。(['abcd'])
- Python使用_________________關鍵字來定義類。(class)
- 表達式 isinstance('abc', str) 的值爲________________。(True)
- 表達式 isinstance('abc', int) 的值爲_______________。(False)
- 表達式 isinstance(4j, (int, float, complex)) 的值爲_____________。(True)
- 表達式 isinstance('4', (int, float, complex)) 的值爲_____________。(False)
- 表達式 type(3) in (int, float, complex) 的值爲____________。(True)
- 表達式 type(3.0) in (int, float, complex) 的值爲____________。(True)
- 表達式 type(3+4j) in (int, float, complex) 的值爲____________。(True)
- 表達式 type('3') in (int, float, complex) 的值爲____________。(False)
- 表達式 type(3) == int 的值爲__________。(True)
- 代碼 print(1,2,3,sep=':') 的執行結果爲__________________。(1:2:3)
- 代碼 for i in range(3):print(i, end=',') 的執行結果爲_________________。(0,1,2,)
- 表達式 eval('''__import__('math').sqrt(9)''') 的值爲______________。(3.0)
- 表達式 eval('''__import__('math').sqrt(3**2+4**2)''') 的值爲_________。(5.0)
- 表達式 eval('3+5') 的值爲_________________。(8)
- 表達式 eval('[1, 2, 3]') 的值爲__________________。([1, 2, 3])
- 假設math標準庫已導入,那麼表達式 eval('math.sqrt(4)') 的值爲_________。(2.0)
- 已知x爲非空列表,那麼表達式 random.choice(x) in x 的值爲___________。(True)
- 表達式 'abc10'.isalnum() 的值爲______________。(True)
- 表達式 'abc10'.isalpha() 的值爲________________。(False)
- 表達式 'abc10'.isdigit() 的值爲__________________。(False)
- 表達式 [1,2,3].count(4) 的值爲_______________。(0)
- Python標準庫random中的___________方法作用是從序列中隨機選擇1個元素。(choice())
- 表達式 'C:\\windows\\notepad.exe'.endswith('.exe') 的值爲________。(True)
- Python標準庫random中的sample(seq, k)方法作用是從序列中選擇________(重複?不重複?)的k個元素。(不重複)
- random模塊中_____________方法的作用是將列表中的元素隨機亂序。(shuffle())
- Python關鍵字elif表示__________和___________兩個單詞的縮寫。(else、if)
- 執行代碼 x, y, z = sorted([1, 3, 2]) 之後,變量y的值爲______。(2)
- 已知 x = {1:2, 2:3},那麼表達式 x.get(3, 4) 的值爲____。(4)
- 已知 x = {1:2, 2:3},那麼表達式 x.get(2, 4) 的值爲______。(3)
- 表達式 {1, 2, 3} | {3, 4, 5} 的值爲_____________________。({1, 2, 3, 4, 5})
- 表達式 {1, 2, 3} | {2, 3, 4} 的值爲______________________。({1, 2, 3, 4})
- 表達式 {1, 2, 3} & {3, 4, 5} 的值爲______________。({3})
- 表達式 {1, 2, 3} & {2, 3, 4} 的值爲___________。({2, 3})
- 表達式 {1, 2, 3} - {3, 4, 5} 的值爲_________。({1, 2})
- 表達式 {1, 2, 3} < {3, 4, 5} 的值爲_________。(False)
- 表達式 {1, 2, 3} < {1, 2, 4} 的值爲___________。(False)
- 表達式 '%s'%[1,2,3] 的值爲_____________。('[1, 2, 3]')
- 在Python定義類時,與運算符“**”對應的特殊方法名爲 _____________。(__pow__())
- 在Python中定義類時,與運算符“//”對應的特殊方法名爲_______________。(__floordiv__())
- 對文件進行寫入操作之後,_______________方法用來在不關閉文件對象的情況下將緩衝區內容寫入文件。(flush())
- Python內置函數_____________用來打開或創建文件並返回文件對象。(open())
- 使用上下文管理關鍵字______________可以自動管理文件對象,不論何種原因結束該關鍵字中的語句塊,都能保證文件被正確關閉。(with)
- Python標準庫os中用來列出指定文件夾中的文件和子文件夾列表的方式是____________。(listdir())
- Python標準庫os.path中用來判斷指定文件是否存在的方法是______________。(exists())
- Python標準庫os.path中用來判斷指定路徑是否爲文件的方法是_______________。(isfile())
- Python標準庫os.path中用來判斷指定路徑是否爲文件夾的方法是______________。(isdir())
- Python標準庫os.path中用來分割指定路徑中的文件擴展名的方法是__________。(splitext())
- Python內建異常類的基類是________________。(BaseException)
- Python擴展庫_____________支持Excel 2007或更高版本文件的讀寫操作。(openpyxl)
- Python標準庫____________中提供了計算MD5摘要的方法md5()。(hashlib)
- 表達式 len('SDIBT') 的值爲__________。(5)
- 表達式 'Hello world!'.count('l') 的值爲___________。(3)
- 表達式 (1, 2, 3)+(4, 5) 的值爲__________________。((1, 2, 3, 4, 5))
- 表達式 dict(zip([1, 2], [3, 4])) 的值爲_________________________________。({1: 3, 2: 4})
- 已知 x = 'abcdefg',則表達式 x[3:] + x[:3] 的值爲___________________。('defgabc')
- 一直 g = lambda x, y=3, z=5: x*y*z,則語句 print(g(1)) 的輸出結果爲_______。(15)
- 表達式 list(map(lambda x: len(x), ['a', 'bb', 'ccc'])) 的值爲__________。([1, 2, 3])
- 語句 x, y, z = [1, 2, 3] 執行後,變量y的值爲__________。(2)
- Python標準庫__________對Socket進行了二次封裝,支持Socket接口的訪問,大幅度簡化了網絡程序的開發。(socket)
- Python擴展庫______________中封裝了Windows底層幾乎所有API函數。(pywin32)
- 線程對象的___________方法用來阻塞當前線程,指定線程運行結束或超時後繼續運行當前線程。(join())
- Python用來訪問和操作內置數據庫SQLite的標準庫是_____________。(sqlite3)
- 用於刪除數據庫表test中所有name字段值爲’10001’的記錄的SQL語句爲______________________________。(delete from test where name=’10001’)
- Python擴展庫________________完美封裝了圖形庫OpenGL的功能。(pyopengl)
- Python擴展庫______________和______________提供了圖像處理功能。(PIL、pillow)
- 已知 x = [[1,3,3], [2,3,1]],那麼表達式 sorted(x, key=lambda item:item[0]+item[2]) 的值爲______________________________________。([[2, 3, 1], [1, 3, 3]])
- 已知 x = [[1,3,3], [2,3,1]],那麼表達式 sorted(x, key=lambda item:(item[1],item[2])) 的值爲____________________________________。([[2, 3, 1], [1, 3, 3]])
- 已知 x = [[1,3,3], [2,3,1]],那麼表達式 sorted(x, key=lambda item:(item[1], -item[2])) 的值爲____________________________________。([[1, 3, 3], [2, 3, 1]])
- 已知 x = {1, 2, 3},那麼執行語句 x.add(3) 之後,x的值爲__________。({1, 2, 3})
- 已知 x = {1:1},那麼執行語句 x[2] = 2之後,len(x)的值爲____________。(2)
- 已知 x = {1:1, 2:2},那麼執行語句 x[2] = 4之後,len(x)的值爲____________。(2)
- 假設已從標準庫functools導入reduce()函數,那麼表達式 reduce(lambda x, y: x-y, [1, 2, 3]) 的值爲____。(-4)
- 假設已從標準庫functools導入reduce()函數,那麼表達式 reduce(lambda x, y: x+y, [1, 2, 3]) 的值爲____。(6)
- 已知有函數定義 def demo(*p):return sum(p),那麼表達式 demo(1, 2, 3) 的值爲______、表達式 demo(1, 2, 3, 4) 的值爲_________。(6、10)
- 已知列表 x = [1, 2],那麼連續執行命令 y = x和 y.append(3) 之後,x的值爲________。([1, 2, 3])
- 已知列表 x = [1, 2],那麼連續執行命令 y = x[:] 和 y.append(3) 之後,x的值爲________。([1, 2])
- 已知列表 x = [1, 2],執行語句 y = x[:] 後,表達式 id(x) == id(y) 的值爲_______。(False)
- 已知列表 x = [1, 2],執行語句 y = x 後,表達式 id(x) == id(y) 的值爲_______。(True)
- 已知列表 x = [1, 2],執行語句 y = x 後,表達式 x is y 的值爲_______。(True)
- 已知列表 x = [1, 2],執行語句 y = x[:] 後,表達式 x is not y 的值爲_______。(True)
- 表達式 sorted(random.sample(range(5), 5)) 的值爲_________________________。([0, 1, 2, 3, 4])
- 表達式 [i for i in range(10) if i>8] 的值爲________________。([9])
- 已知有列表 x = [[1, 2, 3], [4, 5, 6]],那麼表達式 [[row[i] for row in x] for i in range(len(x[0]))] 的值爲___________________________。([[1, 4], [2, 5], [3, 6]])
- 執行語句 x,y,z = map(str, range(3)) 之後,變量y的值爲___________。('1')
- 已知列表 x = [1, 2],那麼執行語句 x.extend([3]) 之後, x的值爲____________。([1, 2, 3])
- 已知列表 x = [1, 2],那麼執行語句 x.append([3]) 之後,x的值爲_____________。([1, 2, [3]])
- 表達式 'aaasdf'.lstrip('as') 的值爲________________。('df')
- 表達式 'aaasdf'.lstrip('af') 的值爲________________。('sdf')
- 表達式 'aaasdf'.strip('af') 的值爲______________。('sd')
- 表達式 'aaasdf'.rstrip('af') 的值爲_______________。('aaasd')
- 已知 f = lambda x: x+5,那麼表達式 f(3) 的值爲________。(8)
- 表達式 print(0b10101) 的值爲____________。(21)
- 表達式 '\x41' == 'A' 的值爲_____________。(True)
- 已知 x = [1, 2, 3, 4, 5],那麼執行語句 del x[:3] 之後,x的值爲__________。([4, 5])
- 表達式 sorted(['abc', 'acd', 'ade'], key=lambda x:(x[0],x[2])) 的值爲_____________。(['abc', 'acd', 'ade'])
- 已知 x = range(1,4) 和 y = range(4,7),那麼表達式 sum([i*j for i,j in zip(x,y)]) 的值爲__________。(32)
- 表達式 [5 for i in range(3)] 的值爲_______________。([5, 5, 5])
- 表達式 {1, 2, 3} == {1, 3, 2} 的值爲___________。(True)
- 表達式 [1, 2, 3] == [1, 3, 2] 的值爲____________。(False)
- 已知 x = [1, 2, 1],那麼表達式 id(x[0]) == id(x[2]) 的值爲_______________。(True)
- 表達式 3 not in [1, 2, 3]的值爲__________。(False)
- 已知 x = [1, 2],那麼執行語句 x[0:0] = [3, 3]之後,x的值爲___________。([3, 3, 1, 2])
- 已知 x = [1, 2],那麼執行語句 x[0:1] = [3, 3]之後,x的值爲___________。([3, 3, 2])
- 已知 x = [1, 2, 3, 4, 5],那麼執行語句 del x[1:3] 之後,x的值爲____________。([1, 4, 5])
- 已知 x = [[1, 2, 3,], [4, 5, 6]],那麼表達式 sum([i*j for i,j in zip(*x)]) 的值爲______。(32)
- 已知列表 x = [1, 2, 3] 和 y = [4, 5, 6],那麼表達式 [(i,j) for i, j in zip(x,y) if i==3] 的值爲____________。([(3, 6)])
- 已知列表 x = [1.0, 2.0, 3.0],那麼表達式 sum(x)/len(x) 的值爲___________。(2.0)
- 表達式 'abc' in ('abcdefg') 的值爲______________。(True)
- 表達式 'abc' in ['abcdefg'] 的值爲______________。(False)
- 已知 x = {1:2, 2:3, 3:4},那麼表達式 sum(x) 的值爲___________。(6)
- 已知 x = {1:2, 2:3, 3:4},那麼表達式 sum(x.values()) 的值爲_________。(9)
- 已知 x = [3, 2, 3, 3, 4],那麼表達式 [index for index, value in enumerate(x) if value==3] 的值爲____________。([0, 2, 3])
- 表達式 1234%1000//100 的值爲___________。(2)
- 正則表達式模塊re的__________方法用來編譯正則表達式對象。(compile())
- 正則表達式模塊re的______________方法用來在字符串開始處進行指定模式的匹配。(match())
- 正則表達式模塊re的______________方法用來在整個字符串中進行指定模式的匹配。(search())
- 表達式 re.search(r'\w*?(?P<f>\b\w+\b)\s+(?P=f)\w*?', 'Beautiful is is better than ugly.').group(0) 的值爲___________。('is is')
- 已知 g = lambda x, y=3, z=5: x+y+z,那麼表達式 g(2) 的值爲________。(10)
- 假設有Python程序文件abc.py,其中只有一條語句print(__name__),那麼直接運行該程序時得到的結果爲_____________。(__main__)
- 表達式 3 in {1, 2, 3} 的值爲_________。(True)
- 表達式 'ac' in 'abce' 的值爲_____________。(False)
- 表達式 not 3 的值爲________________。(False)
- 表達式 3 // 5 的值爲_______________。(0)
- 表達式 [1, 2] + [3] 的值爲__________________。([1, 2, 3])
- 表達式 (1,) + (2,) 的值爲_____________。((1, 2))
- 表達式 (1) + (2) 的值爲____________。(3)
- 已知 x, y = map(int, ['1', '2']),那麼表達式 x + y 的值爲_______。(3)
- 已知列表 x = list(range(5)),那麼執行語句 x.remove(3) 之後,表達式 x.index(4) 的值爲________。(3)
- 已知列表 x = [1, 3, 2],那麼執行語句 x.reverse() 之後,x的值爲____________。([2, 3, 1])
- 已知列表 x = [1, 3, 2],那麼執行語句 x = x.reverse() 之後,x的值爲____________。(None)
- 已知x爲非空列表,那麼表達式 x.reverse() == list(reversed(x)) 的值爲__________。(False)
- 已知x爲非空列表,那麼表達式 x.sort() == sorted(x) 的值爲__________。(False)
- 已知列表 x = [1, 3, 2],那麼執行語句 y = list(reversed(x)) 之後,x的值爲__________。([1, 3, 2])
- 已知列表 x = [1, 3, 2],那麼執行語句 y = list(reversed(x)) 之後,y的值爲__________。([2, 3, 1])
- 表達式 'Beautiful is better than ugly.'.startswith('Be', 5) 的值爲_________。(False)
- 已知列表x中包含超過5個以上的元素,那麼表達式 x == x[:5]+x[5:] 的值爲________。(True)
- 已知字典 x = {i:str(i+3) for i in range(3)},那麼表達式 sum(x) 的值爲______。(3)
- 已知字典 x = {i:str(i+3) for i in range(3)},那麼表達式 ''.join(x.values()) 的值爲____________。('345')
- 已知字典 x = {i:str(i+3) for i in range(3)},那麼表達式 sum(item[0] for item in x.items()) 的值爲___________。(3)
- 已知字典 x = {i:str(i+3) for i in range(3)},那麼表達式 ''.join([item[1] for item in x.items()]) 的值爲_____________。('345')
- 已知列表 x = [1, 3, 2],那麼表達式 [value for index, value in enumerate(x) if index==2] 的值爲_______________。([2])
- 已知列表 x = [1, 3, 2],那麼執行語句 a, b, c = sorted(x) 之後,b的值爲____。(2)
- 已知列表 x = [1, 3, 2],那麼執行語句 a, b, c = map(str,sorted(x)) 之後,c的值爲______。('3')
- 表達式 set([1,2,3]) == {1, 2, 3} 的值爲____________。(True)
- 表達式 set([1,2, 2,3]) == {1, 2, 3} 的值爲____________。(True)
- 表達式 '%c'%65 == str(65) 的值爲___________。(False)
- 表達式 '%s'%65 == str(65) 的值爲_____________。(True)
- 表達式 chr(ord('b')^32) 的值爲_________。('B')
- 表達式 'abc' in 'abdcefg' 的值爲_____________。(False)
- 已知函數定義 def func(*p):return sum(p),那麼表達式 func(1,2,3) 的值爲______。(6)
- 已知函數定義 def func(*p):return sum(p),那麼表達式 func(1,2,3, 4) 的值爲______。(10)
- 已知函數定義 def func(**p):return sum(p.values()),那麼表達式 func(x=1, y=2, z=3) 的值爲________。(6)
- 已知函數定義 def func(**p):return ''.join(sorted(p)),那麼表達式 func(x=1, y=2, z=3)的值爲__________。('xyz')
- 已知x爲整數變量,那麼表達式 int(hex(x), 16) == x 的值爲_____________。(True)
- 已知 f = lambda x: 5,那麼表達式 f(3)的值爲_____________。(5)
- 已知 x, y = 3, 5,那麼執行x, y = y, x 之後,x的值爲__________。(5)
- 已知 x = 'abcd' 和 y = 'abcde',那麼表達式 [i==j for i,j in zip(x,y)] 的值爲________________。([True, True, True, True])
- 表達式16**0.5的值爲____________________。(4.0)
- 表達式type({3})的值爲____________________。(set)
- 表達式isinstance('Hello world', str)的值爲____________________。(True)
- 已知x = list(range(20)),那麼表達式x[-1]的值爲____________________。(19)
- 已知x = 3+4j和y = 5+6j,那麼表達式x+y的值爲____________________。(8+10j)
- 已知x = [3],那麼執行x += [5]之後x的值爲____________________。([3, 5])
- 已知x = [3, 3, 4],那麼表達式id(x[0])==id(x[1])的值爲__________________。(True)
- 表達式int('11', 2)的值爲______________________。(3)
- 表達式int('11', 8)的值爲_______________________。(9)
- 表達式int(bin(54321), 2)的值爲_______________________。(54321)
- 表達式chr(ord('A')+1)的值爲____________________。('B')
- 表達式int(str(34)) == 34的值爲___________________。(True)
- 表達式list(str([3, 4])) == [3, 4]的值爲_________________。(False)
- 表達式{1, 2, 3, 4, 5, 6} ^ {5, 6, 7, 8}的值爲__________________。({1, 2, 3, 4, 7, 8})
- 表達式15 // 4的值爲__________________。(3)
- 表達式sorted({'a':3, 'b':9, 'c':78})的值爲_________________。(['a', 'b', 'c'])
- 表達式sorted({'a':3, 'b':9, 'c':78}.values())的值爲_____________。([3, 9, 78])
- 已知x = [3, 2, 4, 1],那麼執行語句x = x.sort()之後,x的值爲____________。(None)
- 表達式list(filter(lambda x: x>5, range(10)))的值爲_________________。([6, 7, 8, 9])
- 已知x = list(range(20)),那麼語句print(x[100:200])的輸出結果爲_______________。([])
- 已知x = list(range(20)),那麼執行語句x[:18] = []後列表x的值爲______________。([18, 19])
- 已知x = [1, 2, 3],那麼連續執行y = x[:]和y.append(4)這兩條語句之後,x的值爲____________________。([1, 2, 3])
- 已知x = [1, 2, 3],那麼連續執行y = x和y.append(4)這兩條語句之後,x的值爲____________________。([1, 2, 3, 4])
- 已知x = [1, 2, 3],那麼連續執行y = [1, 2, 3]和y.append(4)這兩條語句之後,x的值爲____________________。([1, 2, 3])
- 已知x = [[]] * 3,那麼執行語句x[0].append(1)之後,x的值爲____________________。([[1], [1], [1]])
- 已知x = [[] for i in range(3)],那麼執行語句x[0].append(1)之後,x的值爲_________________。([[1], [], []])
- 已知x = ([1], [2]),那麼執行語句x[0].append(3)後x的值爲________________。(([1, 3], [2]))
- 已知x = {1:1, 2:2},那麼執行語句x.update({2:3, 3:3})之後,表達式sorted(x.items())的值爲____________________。([(1, 1), (2, 3), (3, 3)])
- 已知x = {1:1, 2:2},那麼執行語句x[3] = 3之後,表達式sorted(x.items())的值爲____________________。([(1, 1), (2, 2), (3, 3)])
- 表達式type({}) == dict的值爲_________________。(True)
- 表達式type({}) == set的值爲_______________。(False)
- 已知x = [1, 2, 3],那麼表達式not (set(x*100)-set(x))的值爲________________。(True)
- 已知x = [1, 2, 3],那麼表達式not (set(x*100)&set(x))的值爲________________。(False)
- 表達式{'x': 1, **{'y': 2}}的值爲___________________。({'x': 1, 'y': 2})
- 表達式{*range(4), 4, *(5, 6, 7)}的值爲__________________。({0, 1, 2, 3, 4, 5, 6, 7})
- 在Python中,不論類的名字是什麼,構造方法的名字都是________________。(__init__)
- 如果在設計一個類時實現了__contains__ ()方法,那麼該類的對象會自動支持_____________運算符。(in)
- 已知函數定義def demo(x, y, op):return eval(str(x)+op+str(y)),那麼表達式demo(3, 5, '+')的值爲______________________。(8)
- 已知函數定義def demo(x, y, op):return eval(str(x)+op+str(y)),那麼表達式demo(3, 5, '*')的值爲______________________。(15)
- 已知函數定義def demo(x, y, op):return eval(str(x)+op+str(y)),那麼表達式demo(3, 5, '-')的值爲______________________。(-2)
- 字符串編碼格式UTF8使用____________________個字節表示一個漢字。(3)
- 字符串編碼格式GBK使用__________________個字節表示一個漢字。(2)
- 已知字符串編碼格式utf8使用3個字節表示一個漢字、1個字節表示英語字母,那麼表達式len('abc你好')的值爲_______________。(5)
- 已知字符串編碼格式utf8使用3個字節表示一個漢字、1個字節表示英語字母,那麼表達式len('abc你好'.encode())的值爲_______________。(9)
- 已知字符串編碼格式gbk使用2個字節表示一個漢字、1個字節表示英語字母,那麼表達式len('abc你好'.encode('gbk'))的值爲_______________。(7)
- 已知ord('A')的值爲65並且hex(65)的值爲'0x41',那麼表達式'\x41b'的值爲________________。('Ab')
- 已知formatter = 'good {0}'.format,那麼表達式list(map(formatter, ['morning']))的值爲__________________。(['good morning'])
- 已知x = 'hello world.',那麼表達式x.find('x')和x.rfind('x')的值都爲_____________。(-1)
- 表達式':'.join('hello world.'.split())的值爲___________________。('hello:world.')
- 表達式':'.join('a b c d'.split(maxsplit=2))的值爲_________________。('a:b:c d')
- 已知x = 'hello world',那麼表達式x.replace('l', 'g')的值爲_______________。('heggo worgd')
- 假設已成功導入Python標準庫string,那麼表達式len(string.digits)的值爲_______________。(10)
- 表達式'aaaassddf'.strip('af')的值爲__________________。('ssdd')
- 表達式len('aaaassddf'.strip('afds'))的值爲________________。(0)
- 表達式len('hello world'[100:])的值爲__________________。(0)
- 表達式chr(ord('a')^32^32)的值爲_________________。('a')
- 表達式chr(ord('a')^32)的值爲_________________。('A')
- 已知x = 'aa b ccc dddd',那麼表達式''.join([v for i,v in enumerate(x[:-1]) if v==x[i+1]])的值爲_________________。('accddd')
- 已知當前文件夾中有純英文文本文件readme.txt,請填空完成功能把readme.txt文件中的所有內容複製到dst.txt中,with open('readme.txt') as src, open('dst.txt', ____________) as dst:dst.write(src.read())。('w')
- 假設正則表達式模塊re已正確導入,那麼表達式''.join(re.findall('\d+', 'abcd1234'))的值爲_____________________。('1234')
- 假設正則表達式模塊re已正確導入,那麼表達式re.findall('\d+?', 'abcd1234')的值爲_____________________。(['1', '2', '3', '4'])
- 假設正則表達式模塊re已正確導入,那麼表達式re.sub('(.\s)\\1+', '\\1','a a a a a bb')的值爲________________________。('a bb')
- Python標準庫_____________________提供了對SQLite數據庫的訪問接口。(sqlite3)
- 已知f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]),那麼表達式f(6)的值爲____________________。(1)
- 已知f = lambda n: len(bin(n)[bin(n).rfind('1')+1:]),那麼表達式f(7)的值爲____________________。(0)
- 已知 x = [1,2,3,4,5],那麼執行語句 x[::2] = range(3) 之後,x的值爲_______________。([0, 2, 1, 4, 2])
- 已知 x = [1,2,3,4,5],那麼執行語句 x[::2] = map(lambda y:y!=5,range(3)) 之後,x的值爲________________。([True, 2, True, 4, True])
- 已知 x = [1,2,3,4,5],那麼執行語句 x[1::2] = sorted(x[1::2], reverse=True) 之後,x的值爲_________________。([1, 4, 3, 2, 5])
- 表達式 True*3 的值爲__________。(3)
- 表達式 False+1 的值爲__________。(1)
- 判斷題
- Python是一種跨平臺、開源、免費的高級動態編程語言。(對)
- Python 3.x完全兼容Python 2.x。(錯)
- Python 3.x和Python 2.x唯一的區別就是:print在Python 2.x中是輸出語句,而在Python 3.x中是輸出函數。(錯)
- 在Windows平臺上編寫的Python程序無法在Unix平臺運行。(錯)
- 不可以在同一臺計算機上安裝多個Python版本。(錯)
- 已知 x = 3,那麼賦值語句 x = 'abcedfg' 是無法正常執行的。(錯)
- 繼承自threading.Thread類的派生類中不能有普通的成員方法。(錯)
- 擴展庫os中的方法remove()可以刪除帶有隻讀屬性的文件。(錯)
- 使用內置函數open()且以”w”模式打開的文件,文件指針默認指向文件尾。(錯)
- 使用內置函數open()打開文件時,只要文件路徑正確就總是可以正確打開的。(錯)
- Python變量使用前必須先聲明,並且一旦聲明就不能再當前作用域內改變其類型。(錯)
- Python採用的是基於值得自動內存管理方式。(對)
- 在任何時刻相同的值在內存中都只保留一份(錯)
- Python不允許使用關鍵字作爲變量名,允許使用內置函數名作爲變量名,但這會改變函數名的含義。(對)
- 在Python中可以使用if作爲變量名。(錯)
- 在Python 3.x中可以使用中文作爲變量名。(對)
- Python變量名必須以字母或下劃線開頭,並且區分字母大小寫。(對)
- 加法運算符可以用來連接字符串並生成新字符串。(對)
- 9999**9999這樣的命令在Python中無法運行。(錯)
- 3+4j不是合法的Python表達式。(錯)
- 0o12f是合法的八進制數字。(錯)
- Python 2.x和Python 3.x中input()函數的返回值都是字符串。(錯)
- pip命令也支持擴展名爲.whl的文件直接安裝Python擴展庫。(對)
- 只有Python擴展庫才需要導入以後才能使用其中的對象,Python標準庫不需要導入即可使用其中的所有對象和方法。(錯)
- 在Python中0xad是合法的十六進制數字表示形式。(對)
- 3+4j 是合法Python數字類型。(對)
- 在Python中0oa1是合法的八進制數字表示形式。(錯)
- Python使用縮進來體現代碼之間的邏輯關係。(對)
- Python代碼的註釋只有一種方式,那就是使用#符號。(錯)
- 調用函數時,在實參前面加一個型號*表示序列解包。(對)
- 放在一對三引號之間的任何內容將被認爲是註釋。(錯)
- Python支持使用字典的“鍵”作爲下標來訪問字典中的值。(對)
- 列表可以作爲字典的“鍵”。(錯)
- 元組可以作爲字典的“鍵”。(對)
- 字典的“鍵”必須是不可變的。(對)
- 儘管可以使用import語句一次導入任意多個標準庫或擴展庫,但是仍建議每次只導入一個標準庫或擴展庫。(對)
- 爲了讓代碼更加緊湊,編寫Python程序時應儘量避免加入空格和空行。(錯)
- 在Python 3.5中運算符+不僅可以實現數值的相加、字符串連接,還可以實現列表、元組的合併和集合的並集運算。(錯)
- 已知x爲非空列表,那麼表達式 sorted(x, reverse=True) == list(reversed(x)) 的值一定是True。(錯)
- 已知x爲非空列表,那麼x.sort(reverse=True)和x.reverse()的作用是等價的。(錯)
- 生成器推導式比列表推導式具有更高的效率,推薦使用。(對)
- Python集合中的元素不允許重複。(對)
- Python集合可以包含相同的元素。(錯)
- Python字典中的“鍵”不允許重複。(對)
- Python字典中的“值”不允許重複。(錯)
- Python集合中的元素可以是元組。(對)
- Python集合中的元素可以是列表。(錯)
- Python字典中的“鍵”可以是列表。(錯)
- Python字典中的“鍵”可以是元組。(對)
- Python列表中所有元素必須爲相同類型的數據。(錯)
- Python列表、元組、字符串都屬於有序序列。(對)
- 在Python 3.x中語句 print(*[1,2,3]) 不能正確執行。(錯)
- 已知A和B是兩個集合,並且表達式A<B的值爲False,那麼表達式A>B的值一定爲True。(錯)
- 列表對象的append()方法屬於原地操作,用於在列表尾部追加一個元素。(對)
- 對於列表而言,在尾部追加元素比在中間位置插入元素速度更快一些,尤其是對於包含大量元素的列表。(對)
- 假設有非空列表x,那麼x.append(3)、x = x+[3]與x.insert(0,3)在執行時間上基本沒有太大區別。(錯)
- 使用Python列表的方法insert()爲列表插入元素時會改變列表中插入位置之後元素的索引。(對)
- 假設x爲列表對象,那麼x.pop()和x.pop(-1)的作用是一樣的。(對)
- 使用del命令或者列表對象的remove()方法刪除列表中元素時會影響列表中部分元素的索引。(對)
- 帶有else子句的循環如果因爲執行了break語句而退出的話,則會執行else子句中的代碼。(錯)
- 對於帶有else子句的循環語句,如果是因爲循環條件表達式不成立而自然結束循環,則執行else子句中的代碼。(對)
- 已知列表 x = [1, 2, 3],那麼執行語句 x = 3 之後,變量x的地址不變。(錯)
- 在UTF-8編碼中一個漢字需要佔用3個字節。(對)
- 在GBK和CP936編碼中一個漢字需要2個字節。(對)
- 如果僅僅是用於控制循環次數,那麼使用for i in range(20)和for i in range(20, 40)的作用是等價的。(對)
- 使用列表對象的remove()方法可以刪除列表中首次出現的指定元素,如果列中不存在要刪除的指定元素則拋出異常。(對)
- 元組是不可變的,不支持列表對象的inset()、remove()等方法,也不支持del命令刪除其中的元素,但可以使用del命令刪除整個元組對象。(對)
- Python字典和集合屬於無序序列。(對)
- 無法刪除集合中指定位置的元素,只能刪除特定值的元素。(對)
- 元組的訪問速度比列表要快一些,如果定義了一系列常量值,並且主要用途僅僅是對其進行遍歷二不需要進行任何修改,建議使用元組而不使用列表。(對)
- 當以指定“鍵”爲下標給字典對象賦值時,若該“鍵”存在則表示修改該“鍵”對應的“值”,若不存在則表示爲字典對象添加一個新的“鍵-值對”。(對)
- 假設x是含有5個元素的列表,那麼切片操作x[10:]是無法執行的,會拋出異常。(錯)
- 只能對列表進行切片操作,不能對元組和字符串進行切片操作。(錯)
- 只能通過切片訪問列表中的元素,不能使用切片修改列表中的元素。(錯)
- 只能通過切片訪問元組中的元素,不能使用切片修改元組中的元素。(對)
- 字符串屬於Python有序序列,和列表、元組一樣都支持雙向索引。(對)
- Python字典和集合支持雙向索引。(錯)
- 使用print()函數無法將信息寫入文件。(錯)
- Python集合不支持使用下標訪問其中的元素。(對)
- 相同內容的字符串使用不同的編碼格式進行編碼得到的結果並不完全相同。(對)
- 刪除列表中重複元素最簡單的方法是將其轉換爲集合後再重新轉換爲列表。(對)
- 已知列表x中包含超過5個以上的元素,那麼語句 x = x[:5]+x[5:] 的作用是將列表x中的元素循環左移5位。(錯)
- 對於生成器對象x = (3 for i in range(5)),連續兩次執行list(x)的結果是一樣的。(錯)
- 在循環中continue語句的作用是跳出當前循環。(錯)
- 在編寫多層循環時,爲了提高運行效率,應儘量減少內循環中不必要的計算。(對)
- 在Python中,任意長的字符串都遵守駐留機制。(錯)
- Python運算符%不僅可以用來求餘數,還可以用來格式化字符串。(對)
- Python字符串方法replace()對字符串進行原地修改。(錯)
- 如果需要連接大量字符串成爲一個字符串,那麼使用字符串對象的join()方法比運算符+具有更高的效率。(對)
- 對於大量列表的連接,extend()方法比運算符+具有更高的效率。(對)
- 表達式 {1, 3, 2} > {1, 2, 3} 的值爲True。(錯)
- 列表對象的extend()方法屬於原地操作,調用前後列表對象的地址不變。(對)
- 正則表達式模塊re的match()方法是從字符串的開始匹配特定模式,而search()方法是在整個字符串中尋找模式,這兩個方法如果匹配成功則返回match對象,匹配失敗則返回空值None。(對)
- 函數是代碼複用的一種方式。(對)
- 定義函數時,即使該函數不需要接收任何參數,也必須保留一對空的圓括號來表示這是一個函數。(對)
- 編寫函數時,一般建議先對參數進行合法性檢查,然後再編寫正常的功能代碼。(對)
- 一個函數如果帶有默認值參數,那麼必須所有參數都設置默認值。(錯)
- 定義Python函數時必須指定函數返回值類型。(錯)
- 定義Python函數時,如果函數中沒有return語句,則默認返回空值None。(對)
- 如果在函數中有語句 return 3,那麼該函數一定會返回整數3。(錯)
- 函數中必須包含return語句。(錯)
- 函數中的return語句一定能夠得到執行。(錯)
- 不同作用域中的同名變量之間互相不影響,也就是說,在不同的作用域內可以定義同名的變量。(對)
- 全局變量會增加不同函數之間的隱式耦合度,從而降低代碼可讀性,因此應儘量避免過多使用全局變量。(對)
- 函數內部定義的局部變量當函數調用結束後被自動刪除。(對)
- 在函數內部,既可以使用global來聲明使用外部全局變量,也可以使用global直接定義全局變量。(對)
- 在函數內部沒有辦法定義全局變量。(錯)
- 對於數字n,如果表達式 0 not in [n%d for d in range(2, n)] 的值爲True則說明n是素數。(對)
- 表達式 ‘a’+1的值爲’b’。(錯)
- 在函數內部直接修改形參的值並不影響外部實參的值。(對)
- 在函數內部沒有任何方法可以影響實參的值。(錯)
- 調用帶有默認值參數的函數時,不能爲默認值參數傳遞任何值,必須使用函數定義時設置的默認值。(錯)
- 創建只包含一個元素的元組時,必須在元素後面加一個逗號,例如(3,)。(對)
- 在同一個作用域內,局部變量會隱藏同名的全局變量。(對)
- 形參可以看做是函數內部的局部變量,函數運行結束之後形參就不可訪問了。(對)
- 假設已導入random標準庫,那麼表達式 max([random.randint(1, 10) for i in range(10)]) 的值一定是10。(錯)
- Python標準庫random的方法randint(m,n)用來生成一個[m,n]區間上的隨機整數。(對)
- Python中一切內容都可以稱爲對象。(對)
- 棧和隊列的都具有先入後出的特點。(錯)
- 在一個軟件的設計與開發中,所有類名、函數名、變量名都應該遵循統一的風格和規範。(對)
- 定義類時所有實例方法的第一個參數用來表示對象本身,在類的外部通過對象名來調用實例方法時不需要爲該參數傳值。(對)
- 在面向對象程序設計中,函數和方法是完全一樣的,都必須爲所有參數進行傳值。(錯)
- Python中沒有嚴格意義上的私有成員。(對)
- 在Python中定義類時,運算符重載是通過重寫特殊方法實現的。例如,在類中實現了__mul__()方法即可支持該類對象的**運算符。(錯)
- 在IDLE交互模式下,一個下劃線“_”表示解釋器中最後一次顯示的內容或最後一次語句正確執行的輸出結果。(對)
- 對於Python類中的私有成員,可以通過“對象名._類名__私有成員名”的方式來訪問。(對)
- 運算符 / 在Python 2.x和Python 3.x中具有相同的功能。(錯)
- 運算符“-”可以用於集合的差集運算。(對)
- 如果定義類時沒有編寫析構函數,Python將提供一個默認的析構函數進行必要的資源清理工作。(對)
- 已知seq爲長度大於10的列表,並且已導入random模塊,那麼[random.choice(seq) for i in range(10)]和random.sample(seq,10)等價。(錯)
- 在派生類中可以通過“基類名.方法名()”的方式來調用基類中的方法。(對)
- Python支持多繼承,如果父類中有相同的方法名,而在子類中調用時沒有指定父類名,則Python解釋器將從左向右按順序進行搜索。(對)
- 對文件進行讀寫操作之後必須顯式關閉文件以確保所有內容都得到保存。(對)
- Python標準庫os中的方法startfile()可以啓動任何已關聯應用程序的文件,並自動調用關聯的程序。(對)
- 程序中異常處理結構在大多數情況下是沒必要的。(錯)
- 在try...except...else結構中,如果try塊的語句引發了異常則會執行else塊中的代碼。(錯)
- Python標準庫threading中的Lock、RLock、Condition、Event、Semaphore對象都可以用來實現線程同步。(對)
- 異常處理結構中的finally塊中代碼仍然有可能出錯從而再次引發異常。(對)
- 在GUI設計中,複選框往往用來實現非互斥多選的功能,多個複選框之間的選擇互不影響。(對)
- 在GUI設計中,單選按鈕用來實現用戶在多個選項中的互斥選擇,在同一組內多個選項中只能選擇一個,當選擇發生變化之後,之前選中的選項自動失效。(對)
- 在Python中定義類時實例方法的第一個參數名稱必須是self。(錯)
- 在Python中定義類時實例方法的第一個參數名稱不管是什麼,都表示對象自身。(對)
- Python代碼可以內嵌在asp文件中。(對)
- 無法配置IIS來支持Python程序的運行。(錯)
- Python標準庫os中的方法startfile()可以用來打開外部程序或文件,系統會自動關聯相應的程序來打開或執行指定的文件。(對)
- 在編寫應用程序時,應合理控制線程數量,線程並不是越多越好。(對)
- 在多線程編程時,當某子線程的daemon屬性爲False時,主線程結束時會檢測該子線程是否結束,如果該子線程尚未運行結束,則主線程會等待它完成後再退出。(對)
- Python只能使用內置數據庫SQLite,無法訪問MS SQLServer、ACCESS或Oracle、MySQL等數據庫。(錯)
- 使用OpenGL畫圖時,畫點是最基本的操作,具體生成的圖形由glBegin()函數指定的mode來決定。例如,mode值爲GL_TRIANGLES時表示將要繪製三角形。(對)
- OpenGL採用的“狀態機”工作方式,一旦設置了某種狀態以後,除非顯式修改該狀態,否則該狀態將一直保持。(對)
- 假設os模塊已導入,那麼列表推導式 [filename for filename in os.listdir('C:\\Windows') if filename.endswith('.exe')] 的作用是列出C:\Windows文件夾中所有擴展名爲.exe的文件。(對)
- 表達式 list('[1, 2, 3]') 的值是[1, 2, 3]。(錯)
- 在函數內部沒有任何聲明的情況下直接爲某個變量賦值,這個變量一定是函數內部的局部變量。(對)
- 定義類時如果實現了__contains__()方法,該類對象即可支持成員測試運算in。(對)
- 定義類時如果實現了__len__()方法,該類對象即可支持內置函數len()。(對)
- 定義類時實現了__eq__()方法,該類對象即可支持運算符==。(對)
- 定義類時實現了__pow__()方法,該類對象即可支持運算符**。(對)
- 二進制文件不能使用記事本程序打開。(錯)
- 使用普通文本編輯器軟件也可以正常查看二進制文件的內容。(錯)
- 二進制文件也可以使用記事本或其他文本編輯器打開,但是一般來說無法正常查看其中的內容。(對)
- Python標準庫os中的方法isfile()可以用來測試給定的路徑是否爲文件。(對)
- Python標準庫os中的方法exists()可以用來測試給定路徑的文件是否存在。(對)
- Python標準庫os中的方法isdir()可以用來測試給定的路徑是否爲文件夾。(對)
- Python標準庫os中的方法listdir()返回包含指定路徑中所有文件和文件夾名稱的列表。(對)
- Python擴展庫xlwt支持對Excel 2003或更低版本的Excel文件進行寫操作。(對)
- Python擴展庫xlrd支持對Excel 2003或更低版本的Excel文件進行讀操作。(對)
- 帶有else子句的異常處理結構,如果不發生異常則執行else子句中的代碼。(對)
- 異常處理結構也不是萬能的,處理異常的代碼也有引發異常的可能。(對)
- 在異常處理結構中,不論是否發生異常,finally子句中的代碼總是會執行的。(對)
- 在Python中定義函數時不需要聲明函數參數的類型。(對)
- 在Python中定義函數時不需要聲明函數的返回值類型。(對)
- 在函數中沒有任何辦法可以通過形參來影響實參的值。(錯)
- 已知 x = 3,那麼執行語句 x+=6 之後,x的內存地址不變。(錯)
- 已知x爲非空字符串,那麼表達式 ''.join(x.split()) == x 的值一定爲True。(錯)
- 已知x爲非空字符串,那麼表達式 ','.join(x.split(',')) == x 的值一定爲True。(對)
- 在Python中可以使用 for 作爲變量名。(錯)
- 在Python中可以使用 id 作爲變量名,儘管不建議這樣做。(對)
- Python關鍵字不可以作爲變量名。(對)
- 一個數字5也是合法的Python表達式。(對)
- 同一個列表對象中的元素類型可以各不相同。(對)
- 同一個列表對象中所有元素必須爲相同類型。(錯)
- 已知x爲非空列表,那麼執行語句x[0] = 3之後,列表對象x的內存地址不變。(對)
- 列表可以作爲集合的元素。(錯)
- 集合可以作爲列表的元素。(對)
- 元組可以作爲集合的元素。(對)
- 集合可以作爲元組的元素。(對)
- 字典可以作爲集合的元素。(錯)
- 集合可以作爲字典的鍵。(錯)
- 集合可以作爲字典的值。(對)
- 可以使用del刪除集合中的部分元素。(錯)
- 標準庫os的rename()方法可以實現文件移動操作。(對)
- 標準庫os的listdir()方法默認只能列出指定文件夾中當前層級的文件和文件夾列表,而不能列出其子文件夾中的文件。(對)
- 當作爲條件表達式時,[]與None等價。(對)
- 表達式 [] == None 的值爲True。(錯)
- 當作爲條件表達式時,{}與None等價。(對)
- 表達式 {}==None 的值爲True。(錯)
- 表達式 pow(3,2) == 3**2 的值爲True。(對)
- 當作爲條件表達式時,空值、空字符串、空列表、空元組、空字典、空集合、空迭代對象以及任意形式的數字0都等價於False。(對)
- 在定義函數時,某個參數名字前面帶有一個*符號表示可變長度參數,可以接收任意多個普通實參並存放於一個元組之中。(對)
- 在定義函數時,某個參數名字前面帶有兩個*符號表示可變長度參數,可以接收任意多個關鍵參數並將其存放於一個字典之中。(對)
- 定義函數時,帶有默認值的參數必須出現在參數列表的最右端,任何一個帶有默認值的參數右邊不允許出現沒有默認值的參數。(對)
- 在調用函數時,可以通過關鍵參數的形式進行傳值,從而避免必須記住函數形參順序的麻煩。(對)
- 在調用函數時,必須牢記函數形參順序才能正確傳值。(錯)
- 調用函數時傳遞的實參個數必須與函數形參個數相等才行。(錯)
- 正則表達式對象的match()方法可以在字符串的指定位置開始進行指定模式的匹配。(對)
- 使用正則表達式對字符串進行分割時,可以指定多個分隔符,而字符串對象的split()方法無法做到這一點。(對)
- 在編寫函數時,建議首先對形參進行類型檢查和數值範圍檢查之後再編寫功能代碼,或者使用異常處理結構,儘量避免代碼拋出異常而導致程序崩潰。(對)
- 執行語句 from math import sin 之後,可以直接使用 sin() 函數,例如 sin(3)。(對)
- 列表對象的pop()方法默認刪除並返回最後一個元素,如果列表已空則拋出異常。(對)
- 在Python中定義類時,如果某個成員名稱前有2個下劃線則表示是私有成員。(對)
- 在類定義的外部沒有任何辦法可以訪問對象的私有成員。(錯)
- 可以使用py2exe或pyinstaller等擴展庫把Python源程序打包成爲exe文件,從而脫離Python環境在Windows平臺上運行。(對)
- Python程序只能在安裝了Python環境的計算機上以源代碼形式運行。(錯)
- 不同版本的Python不能安裝到同一臺計算機上。(錯)
- 一般來說,Python擴展庫沒有通用於所有版本Python的,安裝時應選擇與已安裝Python的版本對應的擴展庫。
- 表達式 {1, 2} * 2 的值爲 {1, 2, 1, 2}。(錯)
- Python變量名區分大小寫,所以student和Student不是同一個變量。(對)
- 正則表達式元字符“^”一般用來表示從字符串開始處進行匹配,用在一對方括號中的時候則表示反向匹配,不匹配方括號中的字符。(對)
- 正則表達式元字符“\s”用來匹配任意空白字符。(對)
- 正則表達式 元字符“\d”用來匹配任意數字字符。(對)
- lambda表達式中可以使用任意複雜的表達式,但是必須只編寫一個表達式。(對)
- Python類的構造函數是__init__()。(對)
- 定義類時,在一個方法前面使用@classmethod進行修飾,則該方法屬於類方法。(對)
- 定義類時,在一個方法前面使用@staticmethod進行休息,則該方法屬於靜態方法。(對)
- 通過對象不能調用類方法和靜態方法。(錯)
- 在Python中可以爲自定義類的對象動態增加新成員。(對)
- Python類不支持多繼承。(錯)
- 屬性可以像數據成員一樣進行訪問,但賦值時具有方法的優點,可以對新值進行檢查。(對)
- 文件對象是可以迭代的。(對)
- 文件對象的tell()方法用來返回文件指針的當前位置。(對)
- 以寫模式打開的文件無法進讀操作。(對)
- 假設已成功導入os和sys標準庫,那麼表達式 os.path.dirname(sys.executable) 的值爲Python安裝目錄。(對)
- 只可以動態爲對象增加數據成員,而不能爲對象動態增加成員方法。(錯)
- Python字典支持雙向索引。(錯)
- Python集合支持雙向索引。(錯)
- Python元組支持雙向索引。(對)
- 假設re模塊已成功導入,並且有 pattern = re.compile('^'+'\.'.join([r'\d{1,3}' for i in range(4)])+'$'),那麼表達式 pattern.match('192.168.1.103') 的值爲None。(錯)
- 假設random模塊已導入,那麼表達式 random.sample(range(10), 20) 的作用是生成20個不重複的整數。(錯)
- 假設random模塊已導入,那麼表達式 random.sample(range(10), 7) 的作用是生成7個不重複的整數。(對)
- 在Python 3.x中reduce()是內置函數。(錯)
- 以讀模式打開文件時,文件指針指向文件開始處。(對)
- 以追加模式打開文件時,文件指針指向文件尾。(對)
- 已知x = (1, 2, 3, 4),那麼執行x[0] = 5之後,x的值爲(5, 2, 3, 4)。(錯)
- 已知x = 3,那麼執行x += 6語句前後x的內存地址是不變的。(錯)
- 成員測試運算符in作用於集合時比作用於列表快得多。(對)
- 在Python 3.x中,使用內置函數input()接收用戶輸入時,不論用戶輸入的什麼格式,一律按字符串進行返回。(對)
- 安裝Python擴展庫時只能使用pip工具在線安裝,如果安裝不成功就沒有別的辦法了。(錯)
- 使用random模塊的函數randint(1, 100)獲取隨機數時,有可能會得到100。(對)
- 如果只需要math模塊中的sin()函數,建議使用from math import sin來導入,而不要使用import math導入整個模塊。(對)
- 已知列表x = [1, 2, 3, 4],那麼表達式x.find(5)的值應爲-1。(錯)
- 列表對象的排序方法sort()只能按元素從小到大排列,不支持別的排序方式。(錯)
- g = lambda x: 3不是一個合法的賦值表達式。(錯)
- 內置函數len()返回指定序列的元素個數,適用於列表、元組、字符串、字典、集合以及range、zip等迭代對象。(對)
- 已知x和y是兩個等長的整數列表,那麼表達式sum((i*j for i, j in zip(x, y)))的作用是計算這兩個列表所表示的向量的內積。(對)
- 已知x和y是兩個等長的整數列表,那麼表達式[i+j for i,j in zip(x,y)]的作用時計算這兩個列表所表示的向量的和。(對)
- 表達式int('1'*64, 2)與sum(2**i for i in range(64))的計算結果是一樣的,但是前者更快一些。(對)
- 已知x = list(range(20)),那麼語句del x[::2]可以正常執行。(對)
- 已知x = list(range(20)),那麼語句x[::2] = []可以正常執行。(錯)
- 已知x = list(range(20)),那麼語句print(x[100:200])無法正常執行。(錯)
- 已知x是個列表對象,那麼執行語句y = x之後,對y所做的任何操作都會同樣作用到x上。(對)
- 已知x是個列表對象,那麼執行語句y = x[:]之後,對y所做的任何操作都會同樣作用到x上。(錯)
- 在Python中,變量不直接存儲值,而是存儲值的引用,也就是值在內存中的地址。(對)
- 表達式(i**2 for i in range(100))的結果是個元組。(錯)
- 在Python中元組的值是不可變的,因此,已知x = ([1], [2]),那麼語句x[0].append(3)是無法正常執行的。(錯)
- 包含yield語句的函數一般成爲生成器函數,可以用來創建生成器對象。(對)
- 在函數中yield語句的作用和return完全一樣。(錯)
- Python內置的字典dict中元素是按添加的順序依次進行存儲的。(錯)
- Python內置的集合set中元素順序是按元素的哈希值進行存儲的,並不是按先後順序。(對)
- 已知x = {1:1, 2:2},那麼語句x[3] =3無法正常執行。(錯)
- Python內置字典是無序的,如果需要一個可以記住元素插入順序的字典,可以使用collections.OrderedDict。(對)
- 語句pass僅起到佔位符的作用,並不會做任何操作。(對)
- 在條件表達式中不允許使用賦值運算符“=”,會提示語法錯誤。(對)
- 任何包含__call__()方法的類的對象都是可調用的。(對)
- 在Python中函數和類都屬於可調用對象。(對)
- 無法使用lambda表達式定義有名字的函數。(錯)
- 已知x是一個列表,那麼x = x[3:] + x[:3]可以實現把列表x中的所有元素循環左移3位。(對)
- 已知x和y是兩個字符串,那麼表達式sum((1 for i,j in zip(x,y) if i==j))可以用來計算兩個字符串中對應位置字符相等的個數。(對)
- 函數和對象方法是一樣的,內部實現和外部調用都沒有任何區別。(錯)
- 在設計派生類時,基類的私有成員默認是不會繼承的。(對)
- 如果在設計一個類時實現類__len__()方法,那麼該類的對象會自動支持Python內置函數len()。(對)
- Python 3.x中字符串對象的encode()方法默認使用utf8作爲編碼方式。(對)
- 已知x = 'hellow world.'.encode(),那麼表達式x.decode('gbk')的值爲'hellow world.'。(對)
- 已知x = 'Python是一種非常好的編程語言'.encode(),那麼表達式x.decode('gbk')的值爲'Python是一種非常好的編程語言'。(錯)
- 正則表達式'^http'只能匹配所有以'http'開頭的字符串。(對)
- 正則表達式'^\d{18}|\d{15}$'只能檢查給定字符串是否爲18位或15位數字字符,並不能保證一定是合法的身份證號。(對)
- 二進制文件也可以使用記事本程序打開,只是無法正確閱讀和理解其中的內容。(對)
- 正則表達式'[^abc]'可以一個匹配任意除'a'、'b'、'c'之外的字符。(對)
- 正則表達式'python|perl'或'p(ython|erl)'都可以匹配'python'或'perl'。(對)
- 文本文件是可以迭代的,可以使用for line in fp類似的語句遍歷文件對象fp中的每一行。(對)
- Python的主程序文件python.exe屬於二進制文件。(對)
- 使用記事本程序也可以打開二進制文件,只不過無法正確識別其中的內容。(對)
- 對字符串信息進行編碼以後,必須使用同樣的或者兼容的編碼格式進行解碼才能還原本來的信息。(對)
- 使用pickle進行序列化得到的二進制文件使用struct也可以正確地進行反序列化。(錯)
- 已知當前文件夾中有一個文件readme.txt具有隻讀屬性,假設標準庫os已正確導入,那麼可以通過語句os.chmod('readme.txt', 0o777)來刪除該文件的只讀屬性。(對)
- Python標準庫os的函數remove()不能刪除具有隻讀屬性的文件。(對)
- 字節串b'hello world'和b'hello world.'的MD5值相差很小。(錯)
- 由於異常處理結構try...except...finally...中finally裏的語句塊總是被執行的,所以把關閉文件的代碼放到finally塊裏肯定是萬無一失,一定能保證文件被正確關閉並且不會引發任何異常。(錯)
- 使用TCP協議進行通信時,必須首先建立連接,然後進行數據傳輸,最後再關閉連接。(對)
- TCP是可以提供良好服務質量的傳輸層協議,所以在任何場合都應該優先考慮使用。(錯)
- 在4核CPU平臺上使用多線程編程技術可以很輕易地獲得400%的處理速度提升。(錯)
- 多線程編程技術主要目的是爲了提高計算機硬件的利用率,沒有別的作用了。(錯)
- 簡答題
- 簡單解釋Python基於值的自動內存管理方式?(Python採用的是基於值得內存管理方式,在Python中可以爲不同變量賦值爲相同值,這個值在內存中只有一份,多個變量指向同一個內存地址;Python具有自動內存管理功能,會自動跟蹤內存中所有的值,對於沒有任何變量指向的值,Python自動將其刪除。)
- 寫出Python運算符&的兩種功能?(1)數字位運算;2)集合交集運算。)
- 在Python中導入模塊中的對象有哪幾種方式?(1)import 模塊名 [as 別名];2)from 模塊名 import 對象名[ as 別名];3)from math import *)
- 解釋Python腳本程序的“__name__”變量及其作用?(每個Python腳本在運行時都有一個“__name__”屬性。如果腳本作爲模塊被導入,則其“__name__”屬性的值被自動設置爲模塊名;如果腳本獨立運行,則其“__name__”屬性值被自動設置爲“__main__”。利用“__name__”屬性即可控制Python程序的運行方式。)
- 爲什麼應儘量從列表的尾部進行元素的增加與刪除操作?(當列表增加或刪除元素時,列表對象自動進行內存擴展或收縮,從而保證元素之間沒有縫隙,但這涉及到列表元素的移動,效率較低,應儘量從列表尾部進行元素的增加與刪除操作以提高處理速度。)
- 分析邏輯運算符“or”的短路求值特性?(假設有表達式“表達式1 or 表達式2”,如果表達式1的值等價於True,那麼無論表達式2的值是什麼,整個表達式的值總是等價於True。因此,不需要再計算表達式2的值。)
- 簡單解釋Python中短字符串駐留機制?(對於短字符串,將其賦值給多個不同的對象時,內存中只有一個副本,多個對象共享改副本。)
- 異常和錯誤有什麼區別?(異常是指因爲程序執行過程中出錯而在正常控制流以外採取的行爲。嚴格來說,語法錯誤和邏輯錯誤不屬於異常,但有些語法錯誤往往會導致異常,例如由於大小寫拼寫錯誤而訪問不存在的對象,或者試圖訪問不存在的文件,等等。)
- 使用pdb模塊進行Python程序調試主要有哪幾種用法?(1)在交互模式下使用pdb模塊提供的功能可以直接調試語句塊、表達式、函數等多種腳本。2)在程序中嵌入斷點來實現調試功能。在程序中首先導入pdb模塊,然後使用pdb.set_trace()在需要的位置設置斷點。如果程序中存在通過該方法調用顯式插入的斷點,那麼在命令提示符環境下執行該程序或雙擊執行程序時將自動打開pdb調試環境,即使該程序當前不處於調試狀態。3)使用命令行調試程序。在命令行提示符下執行“python –m pdb 腳本文件名”,則直接進入調試環境;當調試結束或程序正常結束以後,pdb將重啓該程序。)
- 閱讀下面的代碼,並分析假設文件“D:\test.txt”不存在的情況下兩段代碼可能發生的問題。
代碼1:
>>> try:
fp = open(r'd:\test.txt')
print('Hello world!', file=fp)
finally:
fp.close()
代碼2:
>>> try:
fp = open(r'd:\test.txt', 'a+')
print('Hello world!', file=fp)
finally:
fp.close()
答:
假設文件“D:\test.txt”不存在,那麼第一段代碼會拋出異常,提示fp沒有定義;第二段代碼執行正常。原因是第二段代碼使用內置函數open()打開指定文件時如果不存在則會創建該文件,從而不會拋出異常。
- 編程題
- 編寫程序,在D盤根目錄下創建一個文本文件test.txt,並向其中寫入字符串hello world。
答:
fp = open(r’D:\test.txt’, ‘a+’)
print(‘hello world’, file=fp)
fp.close()
- 寫出下面代碼的優化版本,提高運行效率。
x = list(range(500))
for item in x:
t = 5**5
print(item+t)
答:
x = list(range(500))
t = 5**5
for item in x:
print(item+t)
- 編寫程序,生成一個包含20個隨機整數的列表,然後對其中偶數下標的元素進行降序排列,奇數下標的元素不變。(提示:使用切片。)
答:
import random
x = [random.randint(0,100) for i in range(20)]
print(x)
y = x[::2]
y.sort(reverse=True)
x[::2] = y
print(x)
- 寫出下面代碼的執行結果。
def Join(List, sep=None):
return (sep or ',').join(List)
print(Join(['a', 'b', 'c']))
print(Join(['a', 'b', 'c'],':'))
答:
a,b,c
a:b:c
- 寫出下面代碼的運行結果。
def Sum(a, b=3, c=5):
return sum([a, b, c])
print(Sum(a=8, c=2))
print(Sum(8))
print(Sum(8,2))
答:
13
16
15
- 寫出下面代碼的運行結果。
def Sum(*p):
return sum(p)
print(Sum(3, 5, 8))
print(Sum(8))
print(Sum(8, 2, 10))
答:
16
8
20
- 編寫函數,判斷一個數字是否爲素數,是則返回字符串YES,否則返回字符串NO。
答:
import math
def IsPrime(v):
n = int(math.sqrt(v)+1)
for i in range(2,n):
if v%i==0:
return 'No'
else:
return 'Yes'
- 編寫函數,模擬Python內置函數sorted()。
答:
def Sorted(v):
t = v[::]
r = []
while t:
tt = min(t)
r.append(tt)
t.remove(tt)
return r
- 編寫程序,生成包含20個隨機數的列表,然後將前10個元素升序排列,後10個元素降序排列,並輸出結果。
答:
import random
x = [random.randint(0,100) for i in range(20)]
print(x)
y = x[0:10]
y.sort()
x[0:10] = y
y = x[10:20]
y.sort(reverse=True)
x[10:20] = y
print(x)
- 編寫程序,運行後用戶輸入4位整數作爲年份,判斷其是否爲閏年。如果年份能被400整除,則爲閏年;如果年份能被4整除但不能被100整除也爲閏年。
答:
x = input('Please input an integer of 4 digits meaning the year:')
x = eval(x)
if x%400==0 or (x%4==0 and not x%100==0):
print('Yes')
else:
print('No')
- 編寫程序,實現分段函數計算,如下表所示。
x |
y |
x<0 |
0 |
0<=x<5 |
x |
5<=x<10 |
3x-5 |
10<=x<20 |
0.5x-2 |
20<=x |
0 |
答:
x = input('Please input x:')
x = eval(x)
if x<0 or x>=20:
print(0)
elif 0<=x<5:
print(x)
elif 5<=x<10:
print(3*x-5)
elif 10<=x<20:
print(0.5*x-2)
- 閱讀下面的程序,判斷其是否可以正常運行,如果可以運行則寫出執行結果,如果不能運行則寫出理由。
class Test:
def __init__(self, value):
self.__value = value
@property
def value(self):
return self.__value
t = Test(3)
t.value = 5
print(t.value)
答:
不能運行。程序中定義的是隻讀屬性,不能修改屬性的值。
- 下面代碼的功能是,隨機生成50個介於[1,20]之間的整數,然後統計每個整數出現頻率。請把缺少的代碼補全。
import random
x = [random.____________(1,20) for i in range(_______)]
r = dict()
for i in x:
r[i] = r.get(i, _____)+1
for k, v in r.items():
print(k, v)
答:
分別填寫randint、50、0
- 假設有Python程序文件demo.py,代碼如下:
def main():
if __name__ == '__main__':
print(1)
else:
print(2)
main()
將該程序文件直接運行時輸出結果爲_________,作爲模塊導入時得到結果___________-。(1、2)
- 下面程序的執行結果是__________________。(1)
s = 0
for i in range(1,101):
s += i
else:
print(1)
- 下面程序的執行結果是______________。(1275)
s = 0
for i in range(1,101):
s += i
if i == 50:
print(s)
break
else:
print(1)
- 下面的程序是否能夠正常執行,若不能,請解釋原因;若能,請分析其執行結果。
from random import randint
result = set()
while True:
result.add(randint(1,10))
if len(result)==20:
break
print(result)
答:無法正確執行,因爲該程序的功能是從[1,10]區間中選擇20個不同的隨機整數,而該區間並沒有這麼多整數,所以程序死循環。
- 下面的代碼是否能夠正確運行,若不能請解釋原因;若能,請分析其執行結果。
>>> x = list(range(20))
>>> for i in range(len(x)):
del x[i]
答:無法正確執行,因爲刪除列表元素時會影響其他元素在列表中的索引,上面的代碼會拋出下標越界的異常。
- 閱讀下面的代碼,解釋其功能。
>>> x = list(range(20))
>>> for index, value in enumerate(x):
if value == 3:
x[index] = 5
答:將列表x中值爲3的元素修改爲5。
- 閱讀下面的代碼,解釋其功能。
>>> x = [range(3*i, 3*i+5) for i in range(2)]
>>> x = list(map(list, x))
>>> x = list(map(list, zip(*x)))
答:首先生成一個包含列表的列表,然後模擬矩陣轉置。
- 閱讀下面的代碼,解釋其功能。
>>> import string
>>> x = string.ascii_letters + string.digits
>>> import random
>>> print(''.join(random.sample(x, 10)))
答:輸出由英文字母大小寫或數字組成的長度爲10且不重複的隨機字符串。
- 閱讀下面的代碼,分析其執行結果。
def demo(*p):
return sum(p)
print(demo(1,2,3,4,5))
print(demo(1,2,3))
答:輸出結果爲
15
6
- 閱讀下面的代碼,分析其執行結果。
def demo(a, b, c=3, d=100):
return sum((a,b,c,d))
print(demo(1, 2, 3, 4))
print(demo(1, 2, d=3))
答:輸出結果爲
10
9
- 下面的代碼輸出結果爲_____________。(3)
def demo():
x = 5
x = 3
demo()
print(x)
- 下面函數的功能爲_______________。(將序列循環左移k位,得到新序列並返回)
def demo(lst, k):
if k<len(lst):
return lst[k:]+lst[:k]
- 編寫函數,求任意整數的二進制形式中最後連續0的個數。
def demo(n):
b_n = bin(n)
index = b_n.rfind('1') + 1
return len(b_n[index:])
- 有n個乒乓球運動員打淘汰賽,編寫函數計算至少需要多少場比賽才能決出冠軍,不允許直接使用n-1。
def demo(n):
if n == 1:
return 0
if n == 2:
return 1
m, c = divmod(n, 2)
return m + demo(c+m)
- 使用循環和列表推導式兩種方法求解百錢買百雞問題。假設大雞5元一隻,中雞3元一隻,小雞1元三隻,現有100元錢想買100只雞,有多少種買法?
- 循環
>>> for x in range(21):
for y in range(34):
z = 100-x-y
if z%3==0 and 5*x + 3*y + z//3 == 100:
print(x,y,z)
0 25 75
4 18 78
8 11 81
12 4 84
- 列表推導式
>>> [(x, y, 100-x-y) for x in range(21) for y in range(34) if (100-x-y)%3==0 and 5*x+3*y+(100-x-y)//3==100]
[(0, 25, 75), (4, 18, 78), (8, 11, 81), (12, 4, 84)]