python后端開發工程師考證試題


python開發工程師考證試題

問答題鏈接

python開發工程師考證試題

選擇題

題目
關於 Python 程序格式框架的描述,以下選項中錯誤的是 ( A )
A: Python 語言不采用嚴格的“縮進”來表明程序的格式框架
B: Python 單層縮進代碼屬於之前最鄰近的一行非縮進代碼,多層縮進代碼根據縮進關系決定所屬范圍
C: Python 語言的縮進可以采用 Tab 鍵實現
D: 判斷、循環、函數等語法形式能夠通過縮進包含一批 Python 代碼,進而表達對應的語義
 
IDLE環境的退出命令是 ( A )
A: exit()
B: 回車鍵
C: close()
D: esc()
 
關於Python循環結構,以下選項中描述錯誤的是 ( A )
A: 每個continue語句只有能力跳出當前層次的循環
B: break用來跳出最內層for或者while循環,脫離該循環后程序從循環代碼后繼續執行
C: 遍歷循環中的遍歷結構可以是字符串、文件、組合數據類型和range()函數等
D: Python通過for、while等保留字提供遍歷循環和無限循環結構
 
關於Python的lambda函數,以下選項中描述錯誤的是 ( B )
A: lambda函數將函數名作為函數結果返回
B: f = lambda x,y:x+y 執行后,f的類型為數字類型 (function類型)
C: lambda用於定義簡單的、能夠在一行內表示的函數
D: 可以使用lambda函數定義列表的排序原則
 
以下選項中,不是Python對文件的打開模式的是 ( D )
A: 'r'
B: '+'
C: 'w'
D: 'c'
 
以下選項中,不是 Python 語言保留字的是 ( A )
A: do
B: pass
C: except
D: while
 
關於Python賦值語句,以下選項中不合法的是 ( C )
A: x=1;y=1
B: x=y=1
C: x=(y=1)
D: x,y=y,x
 
以下選項中,不是Python IDE的是 ( D )
A: PyCharm
B: Jupyter Notebook
C: Spyder
D: R studio
 
random庫中用於生成隨機小數的函數是 ( A )
A: random()
B: randint()
C: getrandbits()
D: randrange()
 
以下選項中,不屬於函數的作用的是 ( A )
A: 提高代碼執行速度
B: 降低編程復雜度
C: 增強代碼可讀性
D: 復用代碼
 
關於Python文件打開模式的描述,以下選項中錯誤的是 ( C )
A: 只讀模式r
B: 追加寫模式a
C: 創建寫模式n
D: 覆蓋寫模式w
 
time庫的time.time()函數的作用是 ( D )
A: 返回系統當前時間戳對應的易讀字符串表示
B: 返回系統當前時間戳對應的struct_time對象
C: 返回系統當前時間戳對應的本地時間的struct_time對象,本地之間經過時區轉換
D: 返回系統當前的時間戳
 
關於函數的可變參數,可變參數*args傳入函數時存儲的類型是( B )
A: dict
B: tuple
C: list
D: set
 
關於形參和實參的描述,以下選項中正確的是( D )
A: 函數定義中參數列表里面的參數是實際參數,簡稱實參
B: 參數列表中給出要傳入函數內部的參數,這類參數稱為形式參數,簡稱形參
C: 程序在調用時,將形參復制給函數的實參
D: 函數調用時,實參默認采用按照位置順序的方式傳遞給函數,Python也提供了按照形參名稱輸入實參的方式
 
Python語句:f = open(),以下選項中對f的描述錯誤的是 ( B )
A: *f是文件句柄,用來在程序中表達文件
B: 表達式print(f)執行將報錯
C: *f是一個Python內部變量類型
D: 將f當作文件對象,f.read()可以讀入文件全部信息
 
表達式",".join(ls)中ls是列表類型,以下選項中對其功能的描述正確的是 ( D)
A: 將逗號字符串增加到列表ls中
B: 在列表ls每個元素后增加一個逗號
C: 將列表所有元素連接成一個字符串,每個元素后增加一個逗號
D: 將列表所有元素連接成一個字符串,元素之間增加一個逗號
 
以下選項中,不是Python文件處理.seek()方法的參數是( C )
A: 0
B: 1
C: -1
D: 2
 
給定字典d,以下選項中對d.keys()的描述正確的是 ( C )
A: 返回一個列表類型,包括字典d中所有鍵
B: 返回一個集合類型,包括字典d中所有鍵
C: 返回一種dict_keys類型,包括字典d中所有鍵
D: 返回一個元組類型,包括字典d中所有鍵
 
關於Python的元組類型,以下選項中描述錯誤的是 ( D )
A: 一個元組可以作為另一個元組的元素,可以采用多級索引獲取信息
B: 元組一旦創建就不能被修改
C: Python中元組采用逗號和圓括號(可選)來表示
D: 元組中元素不可以是不同類型
 
關於函數的關鍵字參數使用限制,以下選項中描述錯誤的是 ( A )
A: 關鍵字參數必須位於位置參數之前
B: 不得重復提供實際參數
C: 關鍵字參數必須位於位置參數之后
D: 關鍵字參數順序無限制
 
關於函數,以下選項中描述錯誤的是 ( A )
A: 函數名稱不可賦給其他變量
B: 一條函數定義定義一個用戶自定義函數對象
C: 函數也是數據
D: 函數定義語句可執行
 
關於函數的參數,以下選項中描述錯誤的是 ( A )
A: 可選參數可以定義在非可選參數的前面
B: 一個元組可以傳遞給帶有星號的可變參數
C: 在定義函數時,可以設計可變數量參數,通過在參數前增加星號(*)實現
D: 在定義函數時,如果有些參數存在默認值,可以在定義函數時直接為這些參數指定默認值
 
以下選項中,對於函數的定義錯誤的是 ( A )
A: def vfunc(*a,b):
B: def vfunc(a,b):
C: def vfunc(a,*b):
D: def vfunc(a,b=2):
 
關於lambda函數,以下選項中描述錯誤的是 ( A )
A: lambda不是Python的保留字
B: lambda函數也稱為匿名函數
C: lambda函數將函數名作為函數結果返回
D: 定義了一種特殊的函數
 
以下選項中,不屬於關系型數據庫的是(D)
A:Mysql
B:Oracel
C:Microsoft SQL Server
D:MongoDB
 
以下關於字典的描述,錯誤的是(D)
 
B. 字典長度是可變的
C. 字典是鍵值對的集合
D. 字典中的鍵可以對應多個值信息
 
以下屬於 Python 腳本程序轉變為可執行程序的第三方庫的是(D)
A. openpyxl
B. PyPDF2
C. pillow
D. pyinstaller
 
以下關於 Python 函數對變量的作用,錯誤的是(D)
A. 簡單數據類型在函數內部用 global 保留字聲明后,函數退出后該變量保留
B. 全局變量指在函數之外定義的變量,在程序執行全過程有效
C. 簡單數據類型變量僅在函數內部創建和使用,函數退出后變量被釋放
D. 對於組合數據類型的全局變量,如果在函數內部沒有被真實創建的同名變量,則函數內部不可以直接使用並修改全局變量的值
 
以下關於列表和字符串的描述,錯誤的是(D)
A. 列表使用正向遞增序號和反向遞減序號的索引體系
B. 列表是一個可以修改數據項的序列類型
C. 字符和列表均支持成員關系操作符(in)和長度計算函數(len())
D. 字符串是單一字符的無序組合
 
以下 Python 語言關鍵字在異常處理結構中用來捕獲特定類型異常的選項是(D)
A. for
B. lambda
C. in
D. expect
 
Python 語言中,以下表達式輸出結果為 11 的選項是(D)
A. print("1+1")
B. print(1+1)
C. print(eval("1+1"))
D. print(eval("1" + "1"))
 
以下屬於python多線程的模塊的選項為(D)
A:multiprocessing
B:gevent
C:asyncio
D:threading
 
下列選項中,不屬於Python語言特點的是(C)。
A.簡單易學
B.開源
C.面對過程
D.可移植性
 
假設list1是[2,33,222,14,25],什么是list1 [-1]. (C)
A:錯誤
B:沒有
C:25
D:2
 
何時執行try-except-else的else部分?(c)
A:總是
B:發生異常時
C:沒有異常發生時
D:沒有else語法
 
為什么不鼓勵以下划線開頭的局部變量名?(A)
A:它們用於表示類的私有變量
B:他們混淆了口譯員
C:它們用於表示全局變量
D:他們放慢執行速度
 
以下哪項是無效聲明?(B)
A:abc = 1,000,000
B:a b c = 1000 2000 3000
C:a,b,c = 1000,2000,3000
D:a_b_c = 1,000,000
 
以下不屬於HTTP請求庫的選項為(B)
A:urllib
B:BeautifulSoup
C:requests
D:aiohttp
 
以下選項中不符合 Python 語言變量命名規則的是(B)
A.I
B.3_1
C._AI
D.TempStr
 
以下關於 Python 字符串的描述中,錯誤的是(C)
A.字符串是字符的序列,可以按照單個字符或者字符片段進行索引
B.字符串包括兩種序號體系:正向遞增和反向遞減
C.Python 字符串提供區間訪問方式,采用 [N:M] 格式,表示字符串中從 N 到 M 的索引子字符串(包含 N 和 M)
D.字符串是用一對雙引號" "或者單引號‘ ‘括起來的零個或者多個字符
 
關於 import 引用,以下選項中描述錯誤的是(B)
A.使用 import turtle 引入turtle 庫
B.可以使用 from turtle import setup 引入 turtle 庫
C.使用 import turtle as t 引入 turtle 庫,取別名為 t
D.import 保留字用於導入模塊或者模塊中的對象
 
關於程序的異常處理,以下選項中描述錯誤的是(C)
A.程序異常發生經過妥善處理可以繼續執行
B.異常語句可以與 else 和 finally 保留字配合使用
C.編程語言中的異常和錯誤是完全相同的概念
D.Python 通過 try、except 等保留字提供異常處理功能
 
關於函數,以下選項中描述錯誤的是(C)
A.函數能完成特定的功能,對函數的使用不需要了解函數內部實現原理,只要了解函數的輸入輸出方式即可。
B.使用函數的主要目的是減低編程難度和代碼重用
C.Python 使用 del 保留字定義一個函數
D.函數是一段具有特定功能的、可重用的語句組
 
28. 以下選項中是 Python 中文分詞的第三方庫的是(A)
A.jieba
B.itchat
C.time
D.turtle
 
關於 Python 對文件的處理,以下選項中描述錯誤的是(B)
A.Python 通過解釋器內置的 open() 函數打開一個文件
B.當文件以文本方式打開時,讀寫按照字節流方式
C.文件使用結束后要用 close() 方法關閉,釋放文件的使用授權
D.Python 能夠以文本和二進制兩種方式處理文件
 
關於 Python 字符編碼,以下選項中描述錯誤的是(D)
A.chr(x) 和 ord(x) 函數用於在單字符和 Unicode 編碼值之間進行轉換
B.print(chr(65)) 輸出 A
C.print(ord(‘a‘)) 輸出 97
D.Python 字符編碼使用 ASCII 編碼
 
關於 Python 循環結構,以下選項中描述錯誤的是(B)
A.遍歷循環中的遍歷結構可以是字符串、文件、組合數據類型和 range() 函數等
B.break 用來結束當前當次語句,但不跳出當前的循環體
C.continue 只結束本次循環
 
django是一個(A)模式框架。
A: MTV
B: MVC
C:WSGI
D:ISO
 
在下列Django的ORM操作方法中,哪一個不會返回QuerySet對象?D
A:all
B:filter
C:exclude
D:get
 
在下列Django的ORM操作方法中,當匹配不到數據時,哪一個會報錯?B
A:all
B:get
C:exclude
D:filter
 
下列選項不是Django框架提供的表單對象的功能的是(D)
A:渲染
B:校驗數據
C:解耦
D:混淆代碼
 
以下哪個不是redis數據庫的數據類型(C)
A:string
B:list
C:dict
D:set
 
以下說法正確的是:A
A:cookie信息是存儲在客戶端的
B:session信息是存儲在客戶端的
C:cookie技術僅有客戶端實現
D:session技術不依賴cookie技術
 
以下說法錯誤的是:D
A:在django框架中,通過post表單提交的數據可以使用request.POST獲取
B:在django框架中,通過url參數提交的數據可以使用request.GET獲取
C:在django框架中,通過路徑參數提交的數據可以使用視圖函數的參數獲取
D:在django框架中,通過post提交的json數據可以使用request.POST獲取
 
生產環境下,django項目配置文件中的DEBUG屬性應該設置為:D
A: 1
B:0
C:None
D:True
 
在某個django框架中定義了一個Student的模型,它用來表示學生表,以下字段定義錯誤的是: A
A: name = models.CharField('姓名')
B: age = models.SmallIntergerField('年齡', null=True, blank=True)
C: mobile = models.CharFied('電話', max_length=11, min_length=11)
D: qq = models.CharField(max_length=20)
 
Django框架中,中間件的作用非常大,以下說法錯誤的是:D
A: 中間件可以在視圖處理前處理請求對象
B: 中間件可以在視圖處理結束后處理響應對象
C: 中間件可以在請求處理前處理請求對象
D: 中間件可以在視圖處理中處理請求對象
 
以下不屬於requests模塊response對象的方法的是(D)
A:content
B:text
C:json
D:read
 
TCP協議建立連接需要多次握手?(C)
A:一次
B:二次
C:三次
D:四次
 
TCP協議斷開連接需要多次揮手?(D)
A:一次
B:二次
C:三次
D:四次
 
以下選項中不屬於網頁解析庫的是(C)
A:re
B:lxml
C:requests
D:BeautifuiSoup
 
redis中數據庫默認是多少個db?(C)
A:10個
B:15個
C:16個
D:20個
 
下列選項中,不屬於django內置組件的是?(B)
A:admin
B:xadmin
C:model
D:form
 

 

問答題

問答題
1.聲明變量注意事項有哪些?
1)由字母、數字和下划線構成,不能以數字開頭,不能任意特殊字符
2)變量定義規范,使用駝峰式或者下划線式格式
3)變量定義盡量簡明,易懂,方便使用者應用
 
2.如何查看變量在內存中的地址?
可以通過id方法,獲取變量在內存中的地址,例如 name = 456789 print(id(name))
 
3.Python單行注釋和多行注釋分別用什么?
單行注釋: # 被注釋內容
多行注釋: ''' 被注釋內容 '''
 
4.什么是lambda函數?
lambda是Python中的匿名函數。它語法簡單,簡化代碼,不會產生命名沖突,污染命名空間。
 
5.列表和元組有什么區別?
列表是可變的,即可以編輯。元組是不可變的(元組是無法編輯的列表)。
 
6.Python中的字典是什么?
python中的內置數據類型稱為字典。它定義了鍵和值之間的one-to-one關系。
字典包含一對鍵及其對應的值。字典由鍵來索引。
 
7.什么是Python中的map函數
Map函數執行作為第一個參數給出的函數,該函數遍歷第二個參數給出的迭代的所有元素的
 
8.深拷貝和淺拷貝有什么區別?
淺拷貝用於復制引用指針,就像復制值一樣。
深層復制不會將引用指針復制到對象。它引用一個對象,並存儲一些其他對象指向的新對象。
 
9.Python中 help()函數的用途是什么?
help()函數用於顯示文檔字符串,還可以幫助您查看與模塊,關鍵字,屬性等相關的幫助。
 
10.Python中dir()函數的用途是什么?
dir()返回參數的屬性、方法列表mm
 
11.什么是線程同步?
多個線程同時訪問同一資源,等待資源訪問結束,浪費時間,效率低
 
12.redis有哪些數據類型?
string list hash set zset
 
13.scrapy中間件有哪幾種類?
下載中間件和爬蟲中間件
 
14.裝飾器的作用 ?
裝飾器本質上是一個Python函數,它可以讓其他函數在不需要做任何代碼變動的前提下增加額外功能,提高了代碼的復用性。
 
15.json模塊中load和loads有什么區別?
load是將json格式的字符轉換為dict,loads是將string轉換為dict。
 
16.什么是無頭瀏覽器?
無頭瀏覽器即headless browser,是一種沒有界面的瀏覽器。既然是瀏覽器那么瀏覽器該有的東西它都應該有,只是看不到界面而已。
 
17.什么是遞歸?
在調用一個函數的過程中,直接或間接地調用了函數本身這個就叫遞歸。
 
18.什么是生成器?
生成器會生成一系列的值用於迭代,這樣看它又是一種可迭代對象。它是在for循環的過程中不斷計算出下一個元素,並在適當的條件結束for循環。
 
19.什么是迭代器?
迭代器是訪問集合元素的一種方式。迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。
 
20.Python中的split()函數的作用?
Split()能讓我們用指定字符分割字符串。
 
21.如何判斷是函數還是方法?
通過type()可以知道對象所屬的類型,函數是<class 'function'>,方法是<class 'method'>
 
22.isinstance的作用?
isinstance() 函數來判斷一個對象是否是一個已知的類型,類似 type()。
 
23.json序列化時,默認遇到中文會轉換成unicode,如果想要保留中文怎么辦?
序列化的時候,加入ensure_ascii參數
 
24.yield關鍵字的作用?
當一個函數中存在yield關鍵字時,它就變成了一個生成器,每次迭代求值一次,節省內存;
 
25.pass語句的作用是什么?
pass是空語句占位符,是為了保持程序結構的完整性。
 
26.is和==的區別是什么?
在python中,is檢查兩個對象是否是同一個對象,而==檢查他們的值是否相等.
 
27.mysql數據庫的約束有哪些?
主鍵約束、唯一約束、檢查約束、非空約束、外鍵約束
 
28.事務的特性有哪些?
Atomicity(原子性)、Consistency(一致性)、Isolation(隔離性)、Durability(持久性)
 
29.mysql中主鍵和外鍵的區別?
主鍵是能確定一條記錄的唯一標示。例如,身份證證號
外鍵:用於與另一張表的關聯,是能確定另一張表記錄的字段,用於保持數據的一致性
 
30.redis中不同db的作用?
Redis支持多個數據庫,並且每個數據庫的數據是隔離的不能共享,並且基於單機才有,如果是集群就沒有數據庫的概念。
 
31.scrapy和scrapy-redis的區別?
scrapy是一個爬蟲通用框架,但不支持分布式,scrapy-redis是為了更方便的實現scrapy分布式爬蟲,而提供了一些以redis為基礎的組件
 
32.python語言中enumerate的意思是?
對於一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值
enumerate多用於在for循環中得到計數
 
33.多進程更穩定還是多線程更穩定?為什么?
多進程更穩定,它們是獨立運行的,不會因為一個崩潰而影響其他進程。
 
34.HTTP協議請求由什么組成?
請求行(request line)、請求頭部(header)、空行和請求數據四個部分組成
 
35.https協議和http協議有什么區別?
http是超文本傳輸協議,信息是明文傳輸,https則是具有安全性的ssl加密傳輸協議。
 
36.Django框架中的MTV模式,具體指什么?
Django框架的MTV設計模式借鑒了MVC框架的思想,三部分為:Model、Template和View
 
37.什么是wsgi和uwsgi?
wsgi是web服務器網關接口,是一套協議。用於接收用戶請求並將請求進行初次封裝,然后將請求交給web框架
uwsgi與WSGI一樣是一種通信協議,它是uWSGI服務器的獨占協議,用於定義傳輸信息的類型
 
38.django中csrf的實現機制
第一步:django第一次響應來自某個客戶端的請求時,后端隨機產生一個token值,把這個token保存在SESSION狀態中;同時,后端把這個token放到cookie中交給前端頁面;
第二步:下次前端需要發起請求(比如發帖)的時候把這個token值加入到請求數據或者頭信息中,一起傳給后端;Cookies:{csrftoken:xxxxx}
第三步:后端校驗前端請求帶過來的token和SESSION里的token是否一致;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM