12道常见Python面试题,你能答对几个?

Q.1. 什么是 Flask?Flask 是一个使用 Python 编写的轻量级 Web 应用框架 , 使用 BSD 授权 。其 WSGI 工具箱采用 Werkzeug , 模板引擎则使用 Jinja2 。除了 Werkzeug 和 Jinja2 以外几乎不依赖任何外部库 。因为 Flask 被称为轻量级框架 。
Flask 的会话会话使用签名 cookie 来允许用户查看和修改会话内容 。它会记录从一个请求到另一个请求的信息 。但如果要修改会话 , 则必须有密钥 Flask.secret_key 。
Q.1. 如何在 Python 中管理内存?Python 用一个私有堆内存空间来放置所有对象和数据结构 , 我们无法访问它 。由解释器来管理它 。不过使用一些核心 API , 我们可以访问一些 Python 内存管理工具控制内存分配 。

12道常见Python面试题,你能答对几个?

文章插图
 
Q.3. 当退出 Python 时是否释放所有内存分配?答案是否定的 。那些具有对象循环引用或者全局命名空间引用的变量 , 在 Python 退出是往往不会被释放. 另外不会释放 C 库保留的部分内容 。
Q.4. 能否解释一下 args 和 *kwargs?如果我们不知道将多少个参数传递给函数 , 比如当我们想传递一个列表或一个元组值时 , 就可以使用args 。
12道常见Python面试题,你能答对几个?

文章插图
 
3 2 1 4 7 当我们不知道将会传入多少关键字参数时 , 使用*kwargs 会收集关键字参数 。
12道常见Python面试题,你能答对几个?

文章插图
 
a.1 b.2 c.7 使用 args 和 kwargs 作为参数名只是举例 , 可以任意替换 。对于 Python 的基础题任何疑问 , 请在评论区提问 。
 
Q.5. 什么是负索引?我们先创建如下列表:
12道常见Python面试题,你能答对几个?

文章插图
 
与正索引不同 , 负索引是从右边开始检索 。
12道常见Python面试题,你能答对几个?

文章插图
 
6 同样可以用于列表的切片:
12道常见Python面试题,你能答对几个?

文章插图
 
[3, 4, 5, 6, 7]
Q.6. 如何随机打乱列表中元素 , 要求不引用额外的内存空间?我们用 random 包中的 shuffle 函数来实现 。
12道常见Python面试题,你能答对几个?

文章插图
【12道常见Python面试题,你能答对几个?】 
[3, 4, 8, 0, 5, 7, 6, 2, 1]
Q.7. 解释 Python 中的 join 和 split 函数join 函数可以将指定的字符添加到字符串中 。
12道常见Python面试题,你能答对几个?

文章插图
 
‘1,2,3,4,5’
split 函数可以用指定的字符分割字符串
12道常见Python面试题,你能答对几个?

文章插图
 
[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
 
Q.8. 解释 Python 中的// , %和**运算符//运算符执行地板除法 , 返回结果的整数部分 (向下取整) 。
12道常见Python面试题,你能答对几个?

文章插图
 
3 用/符号除法结果为 3.5 。 符号表示取幂. ab 返回 a 的 b 次方
12道常见Python面试题,你能答对几个?

文章插图
 
% 是取模符号 。返回除法后的余数 。
12道常见Python面试题,你能答对几个?

文章插图
 
6
12道常见Python面试题,你能答对几个?

文章插图
 
Q.9. 如何在 Python 使用多进制数字?除十进制以外 , 在 Python 中还可以使用二进制、八进制、十六进制 。
1.二进制数有 0 和 1 组成 , 我们使用 0b 或 0B 前缀表示二进制数
12道常见Python面试题,你能答对几个?

文章插图
 
10
使用 bin 函数可以将数字转换为二进制
12道常见Python面试题,你能答对几个?

文章插图
 
‘0b1111’
2.八进制数由数字 0-7 组成 , 使用前缀 0o 或 0O 表示 8 进制数
12道常见Python面试题,你能答对几个?

文章插图
 
‘0o10’
3.十六进数由数字 0-15 组成 , 使用前缀 0x 或者 0X 表示 16 进制数
12道常见Python面试题,你能答对几个?


推荐阅读