上海python14期第一次月考
1 介紹
滿分120分
考試范圍:
- 基礎題
- 機試題
考試時間:
周日:
上午8:30點-12:00點
下午2:00點-6:00點
2 基礎題(60分)
- 什么是迭代器?(1分)
答:就是每次重復都是基於上次結果而繼續的。
- 為何要有迭代器?(1分)
答:列表元組等可以利用索引進行取值,但是字典和集合是無序的,沒有辦法根據索引進行取值,要想取字典的值就要用迭代器,就是取值的工具。
- 什么是可迭代的對象?(1分)
答:可能被for循環的,比如字會串,列表,字典,集合,元組。
- 什么是迭代器對象?(1分)
答:內置有__iter__ __next__的方法的對象都是迭代器對象。
- 如何得到自定義的迭代器?(1分)
答:定放__iter__和__next__方法
- 多個疊加裝飾器的加載順序與執行順序是?(1分)
答:加載順序是:從下往上
執行順序是:從上往下
- 什么是三元表達式?語法是什么?(1分)
答:條件為真時執行的代碼 if 判斷條什 else 條件為假
- 遞歸的兩個階段是什么?(1分)
答:回溯:在函數中不停的調用
遞推:在函數滿足條件退出函數之后,不停地將已打開的函數結束的過程
- 什么面向過程的編程思想?優缺點是?(1分)
答:設計先干什么后干什么,優點,復雜的問題 簡單化,缺點,程序的可擴展性差。
10. 請列舉5個或以上的內置函數。(1分)
答:input、print、type、def、while、list、for
11. 表達式“[3] in [1, 2, 3, 4]”的值為_____True____?(1分)
12. 轉義字符’\n’的含義是_____換行___?(1分)
13. 任意長度的Python列表、元組和字符串中最后一個元素的下標為____-1______?(1分)
14. Python語句''.join(list('hello world!'))執行的結果是____helloworld________?(1分)
15. Python語句list(range(1,10,3))執行結果為__1、4、7________?(1分)
16. 什么命令既可以刪除列表中的一個元素,也可以刪除整個列表?(1分)
答:clear()
17. 已知a = [1, 2, 3]和b = [1, 2, 4],那么id(a[1])==id(b[1])的執行結果為_____內存地址相同_____?(1分)
18. 表達式 int('123') 的值為______整數123___?(1分)
19. 切片操作list(range(10))[::2]執行結果為?(1分)
答:1、3、5、7、9
20. 語句sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])執行結果為__False_______?(1分)
21. 表達式 'ab' in 'acbed' 的值為___false_____?(1分)
22. Python的內置函數____return___可以返回列表、元組、字典、集合、字符串以及range對象中元素個數?(1分)
23. Python內置函數_____max_______用來返回序列中的最大元素?(1分)
24. Python內置函數______min______用來返回序列中的最小元素?(1分)
25. Python內置函數_________sum_______用來返回數值型序列中所有元素之和?(1分)
26. 已知列表對象x = ['11', '2', '3'],則表達式 max(x) 的值為_____’11’______?(1分)
27. 表達式 min(['11', '2', '3']) 的值為_______’3’__________?(1分)
28. 已知列表對象x = ['11', '2', '3'],則表達式max(x, key=len) 的值為_____11______?(1分)
29. 表達式 {1, 2, 3, 4} - {3, 4, 5, 6}的值為______1,2______?(1分)
30. 表達式set([1, 1, 2, 3])的值為____1,2,3_________?(1分)
31. 假設re模塊已導入,那么表達式 re.findall('(\d)\\1+', '33abcd112') 的值為____’3’ ’1’_____?(1分)
32. 語句 print(re.match('abc', 'defg')) 輸出結果為____None________?(1分)
33. 表達式 list(filter(lambda x: x%2==0, range(10))) 的值為____0.2.4.6.8_____?(1分)
34. 表達式 isinstance('abc', str) 的值為___True______?(1分)
35. Python標准庫random中的______randint_____方法作用是從序列中隨機選擇1個元素?(1分)
36. random模塊中___shuffle__________方法的作用是將列表中的元素隨機亂序?(1分)
37. 模塊可以分為四類分別是什么(1分)
答:內置模塊
自定義模塊
第三方模塊
__init__
38. 包的作用是什么?(1分)
答:該函數包含對外層函數作用域的引用
39. __init__.py文件有什么用?(1分)
答:將文件夾變為Python模塊
40. 使用相對導入時的注意事項(1分)
答:相對導入不能在執行文件中使用,相對導入只能在被導入的模塊中使用。
41. 模塊的搜索順序(1分)
答:先從內存中找,再從內置中找,sys.path中找
42. 有如下目錄(1分)
bin
start.py
core
src.py
在start.py中有以下代碼
import core.src
問:在pycharm中正常執行 而在cmd中執行報錯 為什么?
43. datetime.now() 與 time.time() 的區別是什么(1分)
答:time.time()用於時間間隔的計算,從1970年到現在經過的秒數
Datatime.now()現在的時間
44. sys.argv()有什么用(1分)
答:代碼本身路徑
45. 有字符串'email1:378533872@qq.com email2:333312312@163.com eamil3:alexsb123@gmail.com'(2分)
匹配出所有的郵箱地址:['378533872@qq.com', '333312312@163.com', 'alexsb123@gmail.com']
46. 編寫一個xml文檔,存儲三個好友的信息(1分)
47. 編寫一個json文檔,存儲三個好友的信息(1分)
48. json模塊中的load 和 loads的區別(1分)
答:loads操作的是字符串
load操作的是文件流
49. logging模塊的默認日志級別是什么(1分)
答:logging.dubug()
logging.info()
logging.warning()
logging.error()
logging.critical()
50. 在項目中使用logging的步驟(1分)
51. 可以用來做MD5加密的模塊是哪個?(1分)
答:import hashlib
52. os和sys模塊的作用?(1分)
答:os經常要查找操作文件,讀取配置文件信息
Sys提供對解釋器使用或維護的一些變量的訪問,以及與解釋器的交互函數。
53. 如何生成一個隨機數?(1分)
答:random.randint()
54. 如何使用python刪除一個文件?(1分)
答:rm命令
55. json序列化時,可以處理的數據類型有哪些?如何定制支持datetime類型?(1分)
答:數組類型,對象類型,對象數組
56. json序列化時,默認遇到中文會轉換成unicode,如果想要保留中文怎么辦?(1分)
答:ensur_ascii = False
57. 你工作中都用過哪些內置模塊?(1分)
os.sys.time.datetime.jason.re
58. functools模塊有什么用處 ?(1分)
答:可以用於所有的可以被調用的對象。
59. 如何在一個function里面設置一個全局的變量?(1分)
答:global
60. 什么是深拷貝與淺拷貝?(1分)
答:淺拷貝:將python的第一層內存地址進么了一下重新copy,新賦值的列表內地址仍指向原列表的內存地址
深拷貝:將原列表內部的中變數據類型重新申請了一塊內存空間存放元素內地址。
3機試題(60分)
- ATM + 購物車
1、注冊(5分)
2、登錄(5分)
3、查看余額(2分)
4、提現(5分)
5、還款(5分)
6、轉賬(10分)
7、查看流水(2分)
8、購物功能(15分)
9、查看購物車功能(2分)
10、記錄日志(5分)
11、登錄認證裝飾器(2分)
12、密碼加密(2分)
4拔高題(5分)
- 管理員功能
- 凍結賬戶
- 添加賬戶
- 修改額度