引言:python
語法練習包括Python基礎語法、數據類型、字符編碼和簡單文件操做等內容。git
正文(參考答案附錄在題目下方):程序員
一、Python 裏用來告知解釋器跳過當前循環中的剩餘語句,而後繼續進行下一輪循環,此關鍵詞是__。
continue
2、Python的設計具備很強的可讀性,相比其餘語言具備的特點語法有如下選項,正確的是(): A 交互式 B 解釋型 C 面向對象 D 服務端語言
ABC
三、Python中==運算符比較兩個對象的值,下列選項中哪個是is比較對象的因素(): A id() B sum() C max() D min()
A
四、Python崇尚優美、清晰、是一個優秀並普遍使用的語言,獲得行內衆多領域的承認,下列屬於Python主要應用領域的是:()
A 系統運維
B 科學計算、人工智能
C 雲計算
D 金融量化
ABCD
五、當知道條件爲真,想要程序無限執行直到人爲中止的話,能夠須要下列哪一個選項():
A for
B break
C while
D if
C
六、下列實例變量a值爲字符串"hello",b變量值爲"mooc",下列選項屬於正確字符串運算的是():
A a+b
B a*2
C 'h' in a
D print("Learn python in %s"%('mooc'))
ABCD
七、求比10小且大於或等於0的偶數,例題以下:
x = 10
while x:
x = x-1
if x%2!=0:
____
print (x)
A break
B continue
C yield
D flag
B
八、在python中,數字類型共包括如下哪幾種類型():
A int
B float
C complex
D bool
ABC
九、如下選項爲整數類型的有():
A 3
B 3.1
C -3
D 0
ACD
十、python3解釋器執行long(10)的結果爲():
A 10L
B 10l
C NameError: name 'long' is not defined
D 1
C
#python3中無long類型,python2中long類型,在python2中輸出 10
十一、在python2中,若是變量x = 3,那麼,請選擇x /= 3的結果爲():
A 3
B 0
C 1.0
D 1
D
# python3中輸出 1.0(相除結果均爲小數),只有使用 //(地板除)纔可獲得整數(兩數均爲整數時)
# python2除數中有一數爲小數時,結果爲小數;都爲整數時,則輸出整數
十二、下列選項中,數值最小的是():
A 十進制數 55
B 二進制數 110100
C 八進制數 101
D 十六進制數 33
D
1三、python2解釋器在執行2L的8次方的結果爲():
A 256
B 256L
C 256l
D 報錯
B
# python2中有long類型,輸出時爲大寫的 L(小寫的l容易誤認)
#python3報錯,無long類型
1四、下列字符中對應ASCII碼數值最小的是哪一個選項():
A B
B a
C k
D M
A
# B的值爲66,a的值爲97,C的值爲99,M的值爲77,
1五、python解釋器執行 a = """""'aaa'"""""表達式的結果爲( ):
A \'aaa\''
B '""\'aaa\''
C 語法錯誤
D 我不知道
B
1六、python解釋器執行"金額:"¥%f 元" % 1.5000 的結果爲( ):
A '金額:¥1.5 元'
B '金額:¥1.500 元'
C '金額:¥1.500000 元'
D '金額:¥1.50000 元'
C
# %f只能佔位浮點數,%.xf 則是精確至小數點後x位,默認是6位
# %s 字符串佔位符
1七、在python中的佔位符中,請你選出不屬於佔位符的選項( ):
A %d
B %e
C %E
D %z
D
%d 整數佔位符,即便是原數字爲浮點數他也會強制轉換變成整數
%e 將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(小寫e)
%E 將整數、浮點數轉換成科學計數法,並將其格式化到指定位置(大寫E)
1八、在python解釋器中,執行 '%f' % 1.12345678的結果爲( ):
A '1.1234567'
B '1.1234578'
C '1.12345678'
D '1.123457'
D
# '1.123457' # 四捨五入
1九、python3解釋器執行 not 1 and 1的結果爲( ):
A True
B False
C 0
D 1
B
20、 根據漢字國標GB2312-80的規定,1kb存儲容量能存儲的漢字機內碼的個數是( ):
A 128
B 256
C 512
D 1024
C
# 漢字的內碼也就是漢字的內部碼,又稱漢字機內碼。_x000D_ 不管用何種輸入碼,計入計算機後就當即被轉換爲機內碼進_x000D_ 行存儲、運算和傳送。規則是將國際碼的高位字節、低位字_x000D_ 節各自加上128(十進制)或80(十六進制)。_x000D_ 例如:「中」字的內碼以十六進制表示時爲D6D0。這樣作的目_x000D_ 的是使漢字內碼區別於西文的ASCII碼,由於每一個西文字母的_x000D_ ASCII碼的高位均爲0,而漢字內碼的每一個字節的高位均爲1。
# 簡單理解就是按照漢字國標GB2312-80的規定,一個漢字字符佔2Bytes,
而 1kb = 1024Bytes = 2*512,即512個漢字字符
2一、在信息組織和存儲中,最基本的單位是( ):
A 字節(Byte)
B 二進制位(bit)
C 字(Word)
D 雙字(Double Word)
B
# 1 Byte=8bit 位是計算機數據中最小單元,位的值只會是0或1。
22、設任意一個十進制整數D,轉換成二進制數爲B,根據數制的概念,下列敘述中正確的是()。 A 數字B的位數<數字D的位數 B 數字B的位數≤數字D的位數 C 數字B的位數≥數字D的位數 D 數字B的位數>數字D的位數
C # 在數值轉換中,基數越大,位數越少。當爲0、1時,位數能夠相等。
23、字長爲7位的無符號二進制整數能表示的十進制整數範圍是()。 A 0~128 B 0~255 C 0~127 D 1~127
C # 無符號二進制數的第一位可爲0,_x000D_ 因此當全爲0時最小值爲0,當全爲1時,_x000D_ 最大值爲2**7-1=127。
24、下列選項中,八進制數24轉換成二進制數正確的是()。 A 00101100 B 00010100 C 00011100 D 00011101
B # 24(8)=2*8**1+4*18**0=20(10) 利用「除k取餘法」是將十進制數除以2, 而後將商繼續除以2,直到商爲0, 最後將依次所得的餘數倒序排列便可獲得答案。 例如:8÷2=4……0 4÷2=2……0 2÷2=1……0 1÷2=0……1 故,8(10)--->1000(2)
25、將二進制數10010101,轉換成十進制數,正確的選項爲()。 A 139 B 141 C 149 D 151
C # 二進制是用0、1表示的數:11101=1*2(4)+1*2(3)+1*2(2)+0*2(1)+1*2(0)算成平時用的數字(十進制)便可
26、關於下面對unicode做用的描述,正確的是()。 A 可以使計算機對跨語言的文本進行轉換及處理 B 可以減小存儲大小,節約存儲成本 C 可以使計算機對跨平臺的文本進行轉換及處理 D 可以使計算機處理文本速度更快
AC # unicode主要是解決跨語言和跨平臺文本的編碼問題。
27、下列對於字符編碼的發展歷史節點,正確的是()。 A ASCII--->GBK--->UTF-8--->Unicode B ASCII--->Unicode--->GBK--->UTF-8 C ASCII--->GBK--->Unicode--->UTF-8 D ASCII--->Unicode--->UTF-8--->GBK
C # 最初的ASCII,到中國的gbk,爲了知足支持全球的語言到Unicode,爲了解決存儲問題,最後到UTF-8。
2八、假設,如今有一個UTF-8編碼的文件,須要轉碼成GBK編碼的文件,下列操做流程正確的是()。 A encode('gbk')--->decode('utf-8') B encode('utf-8')--->decode('gbk') C decode('gbk')--->encode('utf-8') D decode('utf-8')--->encode('gbk'
D # encode編碼,decode解碼,文件是什麼方式編碼的,就應以什麼方式解碼,故,應先以UTF-8解碼成Unicode,而後編碼成GBK,此題選D
29、 Python的解釋器自己也能夠看做是個程序,而且有多種解釋器版本,下列選項屬於Python解釋器的是(): A Cpython B Ipython C PyPy D Jython
ABCD # python的幾種解釋器,分別是Cpython、Ipython、PyPy、Jython
30、編程語言一般有固定的後綴,如golang文件是"test.go",Python文件後綴一般定義爲以____結尾。
.py
31、安裝好Python以後,能夠有三種方式運行,經過命令行窗口進入,執行Python文件,集成開發環境,下列屬於運行方式的是(): A 瀏覽器中運行 B 交互式解釋器 C 命令行腳本 D Pycharm
BCD #Python能夠經過交互式解釋器、命令行腳本、IDE開發環境運行,瀏覽器沒法運行python文件
32、 Python解釋器在主提示符或從屬提示符後輸入中斷符____就會取消當前輸入,回到主提示符,會拋出一個KeyboardInterrupt異常。 A control-c B ctrl-z C ctrl-o D alt-c
A # control(ctrl) -c能夠中斷輸入,程序運行
33、做爲學習python的開始,須要事先搞清楚,什麼是編程語言?下列選項正確的是(): A 編程語言是程序員與計算機溝通的介質 B 可以被計算機識別的表達方式便是編程語言 C 編程即程序員根據需求把本身的思想流程按照某種編程語言的語法風格編寫下來 D 人類編程控制計算機工做
ABCD # 程序員經過本身的思想流程轉換爲計算機識別的表達方式便是編程語言
3四、在python中,字符串s = 'abc',那麼執行表達式s+'d'以後,s的打印結果是什麼(): A 'abc' B 'abcd' C 'abc+d' D 報錯
A # 'abc',字符串是不可變數據類型,因此字符串s仍是不變,但字符串相加後的結果是 'abcd’
35、關於字符串的replace方法,你認爲正確的選項是(): A replace方法若是沒有替換成功則報錯 B replace方法若是沒有替換成功則將原字符串返回 C replace方法若是替換成功返回新的字符串 D replace方法若是替換成功,返回原字符串
BC # replace方法若是替換不成功則將原字符串返回,替換成功則返回新的字符串,實例以下:
a = 'abadaf'
print(a.replace('a','A',2)) # AbAdaf
print(a.replace('e','E')) # abadaf
print(a) # abadaf 不改變原字符串的模樣
3六、python解釋器執行'1234'.find('5')的結果是(): A -1 B None C 空 D 報錯
A b = 'abdegha'
print(b.find('b'),b.find('c')) # 1 -1 從下標0開始,查找在字符串裏第一個出現的子串:返回結果
print(b.find('a',1),b.find('a',1,6)) # 6 -1 從下標1開始,查找在字符串裏第一個出現的子串:返回結果6 # find() 方法檢測字符串中是否包含子字符串 str ,若是指定 beg(開始) 和 end(結束) 範圍,則檢查是否包含在指定範圍內,若是包含子字符串返回開始的索引值,不然返回-1。
''' find()方法語法: str.find(str, beg=0, end=len(string)) str -- 指定檢索的字符串 beg -- 開始索引,默認爲0。 end -- 結束索引,默認爲字符串的長度。 若是包含子字符串返回開始的索引值,不然返回-1。 '''
3七、python解釋器執行 'abbacabb'.strip('ab') 的結果是(): A 'aca' B 'ca' C 'c' D 語法錯誤
C # strip方法匹配兩側全部的符合條件的字符(括號內指定字符串中的每一個字符)
38、python的join方法用於將序列中的元素以指定的字符鏈接生成一個新的字符串,那麼下列選中中正確的是(): A 語句''.join('a','b')是合法的 B 語句''.join(['a','b'])是合法的 C 語句''.join([1,2,3])是合法的 D 語句''.join(['1','2','3'])是合法的
BD # join方法只能接受一個成員參數,而且沒法鏈接int類型的數據,實例以下:
>>> print(''.join('a','b','c')) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: join() takes exactly one argument (3 given) >>> print(''.join([1,2,3])) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: sequence item 0: expected str instance, int found
3九、python解釋器執行 '\n'.join(('ab','cd','we','xy'))的結果爲(): A 報錯 B 'ab\cd\we\xy' C 'abcdwexy' D 'ab\ncd\nwe\nxy'
D # join會把換行符當成普通鏈接字符進行鏈接,經過換行鏈接,實例以下:
>>> print('\n'.join(('ab','cd','we','xy'))) ab cd we xy
40、python2解釋器執行 u'abc'.isnumeric()的結果是__ 。
False # isdigit方法判斷字符串裏全爲數字才返回True,並且,python2要經過字符串前加u才能成功判斷
4一、python3解釋器執行'AB2C3D'.lower().title()的結果是(): A 'Ab2c3d' B 'Ab2C3D' C 'AB2C3D' D 語法錯誤
B # title方法將字符串內每一個連續字母的首字母大寫,其他小寫,數字後面的字母被title當成首字母大寫了
4二、 現有列表 l=[1,2,3,4,5,6,7,8,9,0],那麼python3解釋器執行 l[3::-1] 的結果是__ 。
[4, 3, 2, 1] # 從索引爲3的地方開始,依次向前取值
4三、現有列表l=[1,2,3,4,5,6,7,8,9,0],那麼python3解釋器執行 l.insert(-2,'b')後執行 l[-2]的結果是__。
9
# insert將元素插入到列表對應位置的前一位,插入後列表元素爲[1,2,3,4,5,6,7,8,'b',9,0]。
4四、現有列表l=[1,2,3,4,5,6,7,8,9,0],那麼python3解釋器執行l[1:3]='abc'後執行 l[2]的結果是(): A 4 B b C abc D c
B # 把l[1:3]的值爲2,3 把這兩個值替換爲a,b,c後,列表[1, 'a', 'b', 'c', 4, 5, 6, 7, 8, 9, 0],那前四個值爲,1,'a','b','c'
45、在python中,關於reverse方法的說法中,你認爲正確的是( ): A reverse方法返回新的列表 B reverse方法沒有返回值 C reverse方法對列表內的全部元素進行反向排序 D reverse方法只對一級元素進行反向排序
BD # 實例以下:
>>> L = ['a','d','b',1,2,3,[4,5,6]] >>> print(L.reverse(),L) (None, [[4, 5, 6], 3, 2, 1, 'b', 'd', 'a'])
4六、現有代碼t=('a'),在python3解釋器中查看type(t)的到的結果爲( ): A <class 'str'> B <class 'tuple'> C (class 'str') D (class 'tuple')
A #此時python解釋器將t識別爲字符串,哪怕它穿着衣服(套着括號) # >>> t = ('a') # >>> print(type(t)) # <class 'str'>
4七、現有代碼 d={},在python3解釋器中執行 d[([1,2])] = 'b'獲得的結果爲(): A TypeError: unhashable type: 'list' B {([1, 2]): 'b'} C {(1): 'b'} D 以上說法都不對
A # 只有當元組內的全部元素都爲不可變類型的時候,才能成爲字典的key,實例以下: # >>> d ={} # >>> d[([1,2])] = 'b' # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # TypeError: unhashable type: 'list'
4八、python3解釋器執行 d = {(1,[2]):'a',(1,2):1}後查看d的結果是( ): A {(1,[2]):'a',(1,2):1} B TypeError: unhashable type: 'list' C {(1,2):'a',(1,2):1} D 以上說法都不對
B # 字典的key要爲不可變類型 # >>> d = {(1,[2]):'a',(1,2):1} # Traceback (most recent call last): # File "<stdin>", line 1, in <module> # TypeError: unhashable type: 'list'
4九、現有d = {'a': 'b',1:1,2:2},python3解釋器執行d.pop()的結果是(): A 報錯 B (1,1) C ('a':'b') D 以上都不對
A # pop方法須要指定刪除的key,實例以下:
>>> d = {'a': 'b',1:1,2:2} >>> d.pop('a') 'b'
>>> d {1: 1, 2: 2} >>> d.pop() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: pop expected at least 1 arguments, got 0
50、python3解釋器執行for x in {'a':'b','c':'d'}:print(x)的結果是什麼(): A b c B a c C b d D a b
B # 打印字典的key,實例以下:
>>> for x in {'a':'b','c':'d'}: ... print(x) ... a c
5一、python3解釋器執行 for k,v in {1:'a',2:'b'}:print(k,v)的結果是(): A 1 b B b 1 C 1 'b' D TypeError: 'int' object is not iterable
D # 實例以下:
>>> for k,v in {1:'a',2:'b'}: ... print(k,v) ... Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: cannot unpack non-iterable int object
5二、有集合 s = {1,2,3},python3解釋器執行 del s[2]的結果爲( ): A 3 B 2 C {1,2} D TypeError: 'set' object doesn't support item deletion
D # 集合不能索引取值
>>> s = {1,2,3} >>> del s[2] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'set' object doesn't support item deletion
5三、python3解釋器執行{1, 2, 'a'} | {2, 3, 4}的結果爲(): A {2,3,4} B {1, 2, 3, 4, 'a'} C {1,2,3,4} D {2,3,4,'a'}
B # 「 | 」 表示並集,即求兩個集合的全部元素
5四、python3解釋器執行 {2, 3, 4}.symmetric_difference({1, 2, 'a'})的結果爲__。
{3, 1, 'a', 4} # symmetric_difference方法表示求集合的對稱補集,就是各自求了一次補集,而後加在一塊兒的結果
5五、python3解釋器執行 {2, 3, 4}.issubset({2, 3, 4})的結果爲__。
True # issubset() 方法用於判斷集合的全部元素是否都包含在指定集合中,即前者是否爲後者的子集,若是是則返回 True,不然返回 False。此處兩者互爲子集,實例以下:
>>> {1,2,3,4}.issubset({2,3,4}) False >>> {1,2,3,4}.issubset({1,2,3,4,5}) True >>> {2,3,4}.issubset({2,3,4}) True
5六、python3解釋器執行d = dict.fromkeys(['apple', 'orange'],10)獲得的結果是__ 。
{'apple': 10, 'orange': 10} # Python 字典 fromkeys() 函數用於建立一個新字典,以序列 seq 中元素作字典的鍵,value 爲字典全部鍵對應的初始值。該方法返回一個新字典。實例以下:
>>> dic1 = dict.fromkeys((1,2,3)) >>> dic1 {1: None, 2: None, 3: None} # 不指定鍵值時,默認爲None
>>> dic2 = dict.fromkeys((1,2,3),'hello') >>> dic2 {1: 'hello', 2: 'hello', 3: 'hello'} # 初始化鍵值爲「hello」
57、 在python中,一共用多少位的精度來表示一個浮點數( ): A 128 B 64 C 53 D 32
B # 知識點擴展
int(x [,base ]) 將x轉換爲一個整數 long(x [,base ]) 將x轉換爲一個長整數 float(x ) 將x轉換到一個浮點數 complex(real [,imag ]) 建立一個複數 str(x ) 將對象 x 轉換爲字符串 repr(x ) 將對象 x 轉換爲表達式字符串 eval(str ) 用來計算在字符串中的有效Python表達式,並返回一個對象 tuple(s ) 將序列 s 轉換爲一個元組 list(s ) 將序列 s 轉換爲一個列表 chr(x ) 將一個整數轉換爲一個字符 unichr(x ) 將一個整數轉換爲Unicode字符 ord(x ) 將一個字符轉換爲它的整數值 hex(x ) 將一個整數轉換爲一個十六進制字符串 oct(x ) 將一個整數轉換爲一個八進制字符串
5八、請選擇python解釋器執行'123'.isdigit() 方法返回的結果(): A True B False C 'True' D 因語法錯誤而報錯
True # isdigit() 方法檢測字符串是否只由數字組成。 # 語法:str.isdigit() # 返回值: 若是字符串只包含數字則返回 True 不然返回 False。 # 實例以下:
>>> print('123'.isdigit() ) True >>> print('abc123'.isdigit()) False
5九、python3解釋器執行'oldboy'.center(8,'-')的結果爲__。
--mgwl--
# center() 返回一個原字符串居中,並使用空格填充至長度 width 的新字符串。默認填充字符爲空格。 # 語法:str.center(width[, fillchar]) # 參數: width -- 字符串的總寬度 fillchar -- 填充字符 # 實例以下:
>>> str = 'mgwl'
>>> print(str.center(8,'-')) --mgwl--
60、python解釋器執行'{0},{2},{1}'.format('a','b','c')的結果爲(): A 'a,b,c' B 'a,c,c' C 'a,c,b' D 'c,c,b'
C # format 函數能夠接受不限個參數,位置能夠不按順序,而能夠指定位置傳值 # 實例以下:
>>>"{} {}".format("hello", "world") # 不設置指定位置,按默認順序
'hello world'
>>> "{0} {1}".format("hello", "world") # 設置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 設置指定位置
'world hello world'
61、python的join方法用於將序列中的元素以指定的字符鏈接生成一個新的字符串,那麼下列選中中正確的是(): A語句''.join('a','b')是合法的 B語句''.join(['a','b'])是合法的 C語句''.join([1,2,3])是合法的 D語句''.join(['1','2','3'])是合法的
BD # join方法只能接受一個成員參數,沒法鏈接int類型的數據,實例以下:
>>> print(''.join('a','b))
File "<stdin>", line 1
print(''.join('a','b))
^ SyntaxError: EOL while scanning string literal >>> print(''.join(['a','b'])) ab >>> print(''.join([1,2,3])) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: sequence item 0: expected str instance, int found >>> print(''.join(['1','2','3'])) 123
6二、 python解釋器執行'-'.join({'a':'b','c':'d'})的結果爲(): A 'a-c' B 'a-b-c-d' C 'b-d' D 報錯
A # join的對象是字典的時候,只會鏈接字典的key,實例以下:
>>> print('-'.join({'a':'b','c':'d'})) a-c
6三、 python中,判斷一個字符串是否全由數字組成的方法爲str.isnumeric,那麼,python2和python3都執行'123'.isnumeric()獲得的結果爲(): A Ture,False B False,True C 報錯,True D True,報錯
C # isnumeric方法只針對unicode對象,因此python2執行會報錯,想要不報錯,字符串以前加u,實例以下:
# python2.7下
>>> print('123'.isnumeric()) Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'str' object has no attribute 'isnumeric'
>>> print(u'123'.isnumeric()) True # python3下
>>> print('123'.isnumeric()) True
6四、python3解釋器執行'AB2C3D'.lower().title()的結果是(): A 'Ab2c3d' B 'Ab2C3D' C 'AB2C3D' D 語法錯誤
B # title方法將字符串內每一個連續字母的首字母大寫,其他小寫,數字後面的字母被title當成首字母大寫了,實例以下:
>>> print('AB2C3D'.lower().title()) Ab2C3D
6五、 python3解釋器執行'abcdd'.endswith('cd')的結果是__。
False # endswith方法是檢查字符串是否以指定字符結尾,實例以下:
>>> print('abcdd'.endswith('cd')) False >>> print('abcdd'.endswith('dd')) True
6六、現有列表l=[1,2,3,4,5,6,7,8,9,0],那麼python3解釋器執行l[1::2] 的結果是__。
[2, 4, 6, 8, 0] # 從索引爲1的地方開始,以索引+=2的方式取值,實例以下:
>>> l=[1,2,3,4,5,6,7,8,9,0] >>> print(l[1::2]) [2, 4, 6, 8, 0]
6七、現有列表l=[1,2,3,4,5,6,7,8,9,0],那麼python3解釋器執行 l.insert(2,'a')後執行 l[3]的結果是__。
3
# insert把 ‘a',插入到l索引爲2的地方,前面的值不變,後面的值日後移一個位置,因此 l[3]=3。實例以下:
>>> l=[1,2,3,4,5,6,7,8,9,0] >>> l.insert(2,'a') >>> print(l) [1, 2, 'a', 3, 4, 5, 6, 7, 8, 9, 0] >>> l.insert(-2,'a') >>> print(l) [1, 2, 'a', 3, 4, 5, 6, 7, 8, 'a', 9, 0]
6八、現有列表l=[1,2,3,4,5,6,7,8,9,0],那麼python3解釋器執行 l.insert(-2,'b')後執行 l[-1]的結果是__。
9
# insert方法將指定元素插入到指定位置原元素的前一位,實例以下:
>>> l=[1,2,3,4,5,6,7,8,9,0] >>> l.insert(-2,'b') >>> print(l[-2]) 9
>>> print(l) [1, 2, 3, 4, 5, 6, 7, 8, 'b', 9, 0] >>> l.insert(2,'a') >>> print(l) [1, 2, 'a', 3, 4, 5, 6, 7, 8, 'b', 9, 0]
6九、python3解釋器執行 for i,v in enumerate([0,1,2],2):print(i,v)和 for i,v in enumerate([0,1,2]):print(i,v)的結果,你認爲對的選項是(): A 結果一致 B 第一個報錯 C 第一個序號從2開始,第二個從0開始 D 兩個都報錯
C # enumerate() 函數用於將一個可遍歷的數據對象(如列表、元組或字符串)組合爲一個索引序列,同時列出數據和數據下標,通常用在 for 循環當中。
# Python 2.3. 以上版本可用,2.6 添加 start 參數。 # enumerate() 方法的語法: enumerate(sequence, [start=0]) # sequence -- 一個序列、迭代器或其餘支持迭代對象 ;start -- 下標起始位置。 # 實例以下:
>>> for i,v in enumerate([0,1,2],2): ... print(i,v) ... 2 0 3 1
4 2
>>> for i,v in enumerate([0,1,2]): ... print(i,v) ... 0 0 1 1
2 2
70、 python3解釋器執行l=[1,4,3].extend(list())後l的值是(): A [1,4,3] B [1,4,3,[]] C [] D None
None # extend方法並沒有返回值,因此l是 None # extend() 函數用於在列表末尾一次性追加另外一個序列中的多個值(用新列表擴展原來的列表)。 # 方法:list.extend(seq) 該方法沒有返回值,但會在已存在的列表中添加新的列表內容。 # 實例以下:
la = [1,2,3] lb = [5,6,7] la.extend(lb) print('列表la:',la) # 列表la: [1, 2, 3, 5, 6, 7]
7一、python3解釋器執行l=[1,4,3],l.extend(l)後 l的值是__。
[1, 4, 3, 1, 4, 3] # 實例以下:
l=[1,4,3] l.extend(l) print(l) # [1, 4, 3, 1, 4, 3]
7二、現有列表l=[2,3,['a','b','c'],1],那麼python3解釋器執行l[2]=2後l的值是__。
[2, 3, 2, 1] # l[2]是['a','b','c'] ,將 ['a','b','c'] 替換爲 2 # 實例以下 :
l=[2,3,['a','b','c'],1] l[2] = 2
print(l) # [2, 3, 2, 1]
7三、現有列表l=[2,3,['a','b','c'],1],那麼python3解釋器執行l[2].extend('de')後l的值是__。
[2, 3, ['a', 'b', 'c', 'd', 'e'], 1] # l[2]是['a','b','c'] ,在['a','b','c'] 裏追加 ‘d','e', 兩個元素。 # 實例以下:
l=[2,3,['a','b','c'],1] l[2].extend('de') print(l) # [2, 3, ['a', 'b', 'c', 'd', 'e'], 1]
7四、python3解釋器對列表[1,2,[3,4],5,6]使用reverse方法執行的結果爲(): A [6, 5, [3, 4], 2, 1] B [6, 5, [4, 3], 2, 1] C [6, 5, 2, 1, [3, 4]] D 報錯
[6, 5, [3, 4], 2, 1] # reverse方法對列表內的全部元素進行反向排序,而內嵌的2級元素列表內的元素不會被反向排序 # 實例以下:
L = [1,2,[3,4],5,6] L.reverse() print(L) # [6, 5, [3, 4], 2, 1]
75、python3解釋器執行,下面的示例代碼後,l2的結果是(): >>> import copy >>> l1 = [1,2,[3,4]] >>> l2 = copy.deepcopy(l1) >>> l1[2] = 'a'
>>> l2
[1,2,[3,4]] # copy.deepcopy爲深拷貝,徹底的把l1拷貝了一份,因此l1怎麼變更都不會跟l2有關係 # 實例以下:
>>> import copy >>> l1 = [1,2,[3,4]] >>> l2 = copy.deepcopy(l1) >>> l1[2] = 'a'
>>> l2 [1, 2, [3, 4]] >>> l1 [1, 2, 'a'] # 擴展,copy和deepcopy的區別:
>>> import copy >>> l1 = [1,2,[3,4]] >>> l2 = l1.copy() # # 淺拷貝
>>> l3 = copy.deepcopy(l1) # # 深拷貝
>>> l1 [1, 2, [3, 4]] >>> l2 [1, 2, [3, 4]] >>> l3 [1, 2, [3, 4]] >>> l1.append('a') >>> l2.append('a') >>> l3.append('a') >>> l1 [1, 2, [3, 4], 'a'] >>> l2 [1, 2, [3, 4], 'a'] >>> l3 [1, 2, [3, 4], 'a'] >>> l1.append('a') >>> l1 [1, 2, [3, 4], 'a', 'a'] >>> l1[2].append('b') >>> l2[2].append('b') >>> l3[2].append('b') >>> l1 [1, 2, [3, 4, 'b', 'b'], 'a', 'a'] >>> l2 [1, 2, [3, 4, 'b', 'b'], 'a'] # copy後的第一層列表不受原列表影響,第二層列表仍受原列表的影響
>>> l3 [1, 2, [3, 4, 'b'], 'a'] # deepcopy後的列表徹底獨立,不受原列表影響
76、python3解釋器執行下面的示例代碼後,l2的結果是(): >>> l1 = [1,2,[3,4]] >>> l2 = copy.deepcopy(l1) >>> l1[2] = 'a'
>>> l2 A [1, 2, ['a', 4]] B [1, 2, 'a'] C [1, 2, [3, 4]] D 報錯
D # 沒有導入copy模塊(須要使用 import 引入),報copy變量沒有定義的錯誤
77、在python中,關於copy模塊的說法,你認爲對的是( ): A copy模塊爲python的內置模塊,用時無需導入 B 咱們能夠經過變量複製操做代替copy C copy.copy 淺拷貝 只拷貝父對象,不會拷貝對象的內部的子對象 D copy.deepcopy 深拷貝 拷貝對象及其子對象
CD
78、python3解釋器執行下面示例代碼後,l2的結果是(): >>> l2 = l1 = [1,2,[(3,4),5]] >>> l1[2][0] = 'a'
>>> l2
[1, 2, ['a', 5]] # 鏈式複製,至關於copy.copy # 實例以下:
l2 = l1 = [1,2,[(3,4),5]] l1[2][0] = 'a'
print(l2) # [1, 2, ['a', 5]]
7九、現有代碼 t = (1,2),在python3解釋器中執行t * 3 獲得的結果爲(): A 語法錯誤 B (1, 2, 1, 2, 1, 2) C (2, 4, 2, 4) D 以上說法都不對
B # 字符串、列表和元祖支持此種方法複製數據,字典和集合不行 # 實例以下:
>>> str = 'hello'
>>> str*3
'hellohellohello'
>>> t = (1,2) >>> t*3 (1, 2, 1, 2, 1, 2) >>> l = [1,2] >>> l*3 [1, 2, 1, 2, 1, 2] >>> t = {1,2} >>> t*3 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for *: 'set' and 'int'
>>> dic = {1:'1',2:'2'} >>> dic*3 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for *: 'dict' and 'int'
80、在python3.6.2版本的解釋器中,咱們分別查詢長度爲一百萬的列表和字典的靠後的元素,就查詢速度來講(): A 列表快 B 字典快 C 同樣快 D 元組快
B # 字典快,字典爲映射關係存儲數據,通常的,無論字典多大,查詢速度相差無幾,而列表查詢第一個元素和最後一個元素的速度天差地別
8一、 python3解釋器執行 d = {1:1,2:1}後查看d的結果是__。
{1: 1, 2: 1} # 字典的value能夠相同,實例以下:
>>> d = {1:1,2:1} >>> d {1: 1, 2: 1}
8二、現有 d = {},python3解釋器執行d['a'] = 'b'後d的結果是__。
{'a': 'b'} # 實例以下:
>>> d = {} >>> d['a'] = 'b'
>>> d {'a': 'b'}
8三、現有 d = {},python3解釋器執行d[(1,2)] = ({3,(4)})後d的結果是(): A {(1, 2): {3, 4}} B {(1, 2): ({3, 4})} C 報錯 D 以上都不對
A # 爲字典添加了一對鍵值對 # 實例以下:
>>> d = {} >>> d[(1,2)] = ({3,(4)}) >>> d {(1, 2): {3, 4}}
8四、現有字典d1 = {'a':1, 'b':2, 'c':3}和d2 = {1:'a', 'b':4, 'd':3},那麼python3解釋器執行d1.update(d2)後d2的結果是__。
{1: 'a', 'b': 4, 'd': 3} # update方法不影響被更新的字典 # 字典 update() 函數把字典參數 dict2 的 key/value(鍵/值) 對更新到字典 dict 裏。 # update() 方法語法:dict.update(dict2) # 參數:dict2 -- 添加到指定字典dict裏的字典。 # 返回值:該方法沒有任何返回值。 # 實例以下:
>>> d1 = {'a':1, 'b':2, 'c':3} >>> d2 = {1:'a', 'b':4, 'd':3} >>> d1.update(d2) >>> d1 {'a': 1, 'b': 4, 'c': 3, 1: 'a', 'd': 3} >>> d2 {1: 'a', 'b': 4, 'd': 3}
8五、python3解釋器執行 {2, 3, 4}.issubset({2, 3, 4})的結果爲__。
True # issubset() 方法用於判斷集合的全部元素是否都包含在指定集合中,若是是則返回 True,不然返回 False。 # 語法: set.issubset(set) # set -- 必需,判斷集合 x 的全部元素是否都包含在集合 y 中,若是都包含,則返回 True,不然返回 False。 # 實例以下 :
>>> x = {"a", "b", "c"} >>> y = {"f", "e", "d", "c", "b", "a"} >>> print(x.issubset(y)) True # 集合x爲集合y的子集
>>> print(y.issubset(x)) False # 集合y不是x的子集
86、關於hash函數,下面說法正確的是( ): A hash函數提升了數據安全性 B hash函數能夠用來對密碼進行加密 C hash函數能夠用來校驗文件的一致性 D 上面說的都對
D
87、在python中,hash函數沒法直接hash字典,但hash(tuple(dict))這種方式是否可行( ): A 不可行 B 可行 C 這麼幹不科學 D 上面說的都對
B # 這麼幹是可行的,好比hash(tuple({1:1,2:2,3:3,4:4})),就有hash值,實例以下:
>>> hash(tuple({1:1,2:2})) 3713081631934410656
88、在python中,hash函數依賴一個良好的hash算法,那麼這個算法必須具備( ): A 壓縮性 B 抗計算原性 C 抗碰撞性 D 固定長度
ABCD