一、中文單項選擇題
1.下列哪個語句在Python/ target=_blank class=infotextkey>Python中是非法的?
A、x = y = z =1 B、x = (y = z + 1)
C、x, y = y, x D、x += y
答案:B
2.關于Python內存管理,下列說法錯誤的是
A、變量不必事先聲明 B、變量無須先創建和賦值而直接使用
C、變量無須指定類型 D、可以使用del釋放資源
答案:B. (不先賦值會報錯,is not defined)
3、下面哪個不是Python合法的標識符
A、int32 B、40XL C、self D、name
答案:B(合法的標識符不能以數字開頭)
4、下列哪種說法是錯誤的
A、除字典類型外,所有標準對象均可以用于布爾測試
B、空字符串的布爾值是False
C、空列表對象的布爾值是False
D、值為0的任何數字對象的布爾值是False
答案:A
5、下列表達式的值為True的是
A、5+4j >2-3j B、3>2>2
C、(3,2)<('a','b') D、’abc’ > ‘xyz’
答案:C (在Py2.x版本中正確,在Py3.x運行錯誤)
6、Python不支持的數據類型有
A、char B、int C、float D、list
答案:A(python里無char型數據,有string字符串類型;但C語言中有char數據類型)
7、關于Python中的復數,下列說法錯誤的是
A、表示復數的語法是real + imagej B、實部和虛部都是浮點數
C、虛部必須后綴j,且必須是小寫 D、方法conjugate返回復數的共軛復數
答案:C(復數虛部的后綴也可以是大寫的J)
8、關于字符串下列說法錯誤的是
A、字符應該視為長度為1的字符串
B、字符串以標志字符串的結束
C、既可以用單引號,也可以用雙引號創建字符串
D、在三引號字符串中可以包含換行回車等特殊字符
答案:B(python因為字符串有長度限制,到了長度就標志字符串的結束)
9、以下不能創建一個字典的語句是
A、dict1 = {} B、dict2 = { 3 : 5 }
C、dict3 ={[1,2,3]: “uestc”} D、dict4 = {(1,2,3): “uestc”}
答案:C(字典的鍵必須是不變的,而列表是可變的)
10、下列Python語句正確的是:
A、min = x if x< y = y
B、max = x > y ?x:y
C、if (x >y) print x
D、while True :pass
答案:D
二、英文單項選擇題
1、what getsprinted? Assuming python version 2.x()
print type(1/2)
A. int B. float C. 0 D. 1 E.0.5
答案:A(在Py3.x的版本中,結果是float型)
2、What getsprinted?()
counter = 1def doLotsOfStuff():global counterfor i in (1, 2, 3):counter += 1doLotsOfStuff()print counter
A.1 B.3 C.4 D.7 E.none of the above
答案:C
3、What getsprinted?()
print r"nwoow"
A.new line then the string: woow
B.the text exactly like this: r”nwoow”
C.the text like exactly like this: nwoow
D.the letter r and then newline then the text: woow
E.the letter r then the text like this: nwoow
答案:C(字符串前面加r,表示禁止字符串轉義)
4、Which numbersare printed?()
for i in range(2):print ifor i inrange(4,6):print i
A.2, 4, 6 B.0,1, 2, 4, 5, 6
C.0, 1, 4, 5 D.0,1, 4, 5, 6, 7, 8, 9 E.1, 2, 4, 5, 6
答案:C
5、What getsprinted by the code snippet below?()
import mathprint math.floor(5.5)
A.5 B.5.0 C.5.5 D.6 E.6.0
答案:B
6、Assuming the filename for the code below is/usr/lib/python/person.py and the program is run as: python /usr/lib/python/person.py
What gets printed?()
class Person:def__init__(self):passdefgetAge(self):print__name__p = Person()p.getAge()
A.Person B.getAge
C.usr.lib.python.person D.__main__ E.Anexception is thrown
答案:D (當內部單獨執行模塊時,__name__的返回值就是__main__,當被外部模調用時,返回的是模塊的名字,在此即為person)
7、What getsprinted?()
names1 = ['Amir', 'Barry', 'Chales', 'Dao']if 'amir' in names1:print 1else:print 2
A.1 B.2 C.An exception is thrown
答案:B
8、What gets printed?()
numbers = [1, 2, 3, 4]numbers.Append([5,6,7,8])print len(numbers)
A.4 B.5 C.8 D.12 E.An exception is thrown
答案:B(numbers為[1,2,3,4,[5,6,7,8]])
9、What getsprinted?()
kvps = { '1' :1, '2' : 2 }theCopy =kvps.copy()kvps['1'] = 5sum = kvps['1']+ theCopy['1']print sum
A.1 B.2 C.6 D.10 E.An exception is thrown
答案:C(字典的淺拷貝,只拷貝父對象,即theCopy拷貝了kvps,當kvps改變表面時,theCopy不改變相應值)
三、SQL筆試題
用一條SQL語句 查詢出每門課都大于80分的學生姓名。表scores如下:
name kecheng fenshu
張三 語文 81
張三 數學 75
李四 語文 76
答案:SELECT DISTINCT name FROM grade WHERE name NOT IN(SELECT DISTINCTname FROM grade WHERE score <=80);
更簡單的:
SELECT name FROMgrade GROUP BY name HAVING MIN(score) > 80。
四、python筆試題
1, python常見的命令行交互自動化模塊有哪些?(2分)
答案:a)Import module
b) Import module1,module2
c) From module import *
d) Frommodule import m1,m2,m3
e) From module import logger asmodule_logger
2,python的底層網絡交互模塊有哪些?(2分)
答案:socket, urllib,urllib3 , requests, grab, pycurl
3,python網絡交互時,二進制打包解包的模塊有哪些(2分)
答案:打包:pack(), 解包:upk()
4,python的測試框架有哪些?試列出常用的3個或更多(6分)
答案:unittest, nose,unittest2, doctest, pytest
5,一行把[1,2,3,1,2,3] 中的重復元素剔除。(3分)
答案:list(set([1,2,3,1,2,3]))
6,現在要你使用pyDes(DES加密)和標準庫中的namedtuple,假設你之前沒有接觸過,你如何快速上手?
答案:仔細閱讀官方文檔中namedtuple庫和pyDes的使用。下載pyDes和namedtuple庫,借鑒網上的使用教程,摸索實踐。