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是否一致;
相关文章
相关标签/搜索