22、[i%2 for i in range(10)]與(i%2 for i in range(10))輸出結果分別是什么
答:[0, 1, 0, 1, 0, 1, 0, 1, 0, 1]與一個生成器
23、python2與python3有哪些顯著區別
答:
1、Python3中print為一個函數,必須用括號括起來;Python2中print為class
2、Python3中用input,Python2中用row_input,都輸入為str
3、Python3中/表示真除,%表示取余,//結果取整;Python2中帶上小數點/表示真除,%表示取余,//結果取整
4、python--range(),python2---xrange()
24、請描述Unicode,utf8,gbk等編碼之間的關系
答:unicode是字符集,utf8,gbk是unicode的一種編碼方式
25、請描述with用法,如果自己的類需要支持with語句,應該如何書寫
答:用法 with 通過對象的__entry__()方法進入,無論執行過程中是否有異常,最后通過__exit__()結束
只要保證自己的類中有__entry__()與__exit__()方法即可使用with
26、python中如何判斷一個對象是否可調用對象,那些對象是可調用對象,如何定義一個類,使其對象本身就是可調用對象?
答:判斷可調用:1、callable(func)
2、hasattr(func, '__call__')
3、from types import FunctionType
isinstance(func, FunctionType)
定義可調用類:實現類中的__call__()方法
27、什么是裝飾器,寫一個裝飾器可以打印輸出方法執行時間信息
答:不改變原函數內部結構並能拓展其方法的嵌套函數

import time def outer(func): def inner(*args,**kwargs): start = time.time() ret = func(*args,**kwargs) print(time.time()-start) return ret return inner
28、什么是進程,線程,協程?說一說python對他們的支持?
答:進程:每個進程之間數據獨立耗費內存空間比較大 multiprocessing模塊實現
線程:每一個進程之間可以開多個線程,線程之間數據共享,占用內存較小 threading模塊支持
協程:協程是通過單線程內I/O阻塞實現, yield 或 greenlet包實現
29:def f(a,b=[])這種寫法中有什么陷阱
答:b
默認值是指向一個列表對象,程序開始的時候這個列表對象是空。而不是每次調用函數的時候新建一個空列表。
30、哪些情況下,y!=x-(x-y)會成立
答:x,y是兩個不相等的非空集合
x = set([2,3])
y = set([2,4])
31、用python實現九九乘法表(兩種方法)

for i in range(1,10): for j in range(1,i+1): print('%s * %s = %s' % (i,j,i*j),end=' ') print()

print('\n'.join([ ' '.join([ "%d*%d=%2s" %(y,x,x*y) for y in range(1,x+1)]) for x in range(1,10)]))
32、算法是指
A、數學的計算公式 B、程序設計語言的語句語序 C、對問題的精確描述 D、解決問題的精確步驟
33、type(1+2L*3.14)的結果是
A、<type 'int'> B、<type 'long'> C、<type 'float'> D、<type 'str'>
34、若k為整形,下述while循環執行次數為
k=1000
while k>1:
print k
k = k/2
A、9 B、10 C、11 D、100
35、以下誰是不合法的布爾表達式
A、x in range(6)B、3=aC、e>5 and 4==fD、(x-6)>5
36、下列表達式值為True的是
A、5+4j>2-3jB、3>2>2C、(3,2)<('a','b')比較ASCII碼值D、'abc'>'xyz'
37、python不支持的數據類型
A、charB、intC、floatD、list
38、關於python中的復數,下列說法錯誤的是
A、表示復數的語法是real+image J B、實部和虛部都是浮點數
C、虛部必須后綴j,且必須是小寫 D、方法conjugate返回復數的共軛復數
39、關於字符串,下列說法錯誤的是
A、字符應該視為長度為1的字符串 B、字符串以\0標志字符串結束
C、即可用單引號,也可用雙引號創建字符串 D、在三引號字符串中可以包含換行回車等特殊字符
40、以下不能創建一個字典的語句是
A、dict1={} B、dict2={3:5} C、dict3={[1,2,3]:'uestc'} D、dict4={(1,2,3):'uestc'}
41、下列python語句正確的是
A、min=x if x<y else y B、max=x>y?x:y C、if(x>y) print x D、while True:pass