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是否一致;
相關文章
相關標籤/搜索