A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© huawei 黑马粉丝团   /  2018-8-3 09:19  /  2245 人查看  /  0 人回复  /   2 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 huawei 于 2018-8-3 09:23 编辑

最常见的 35 个 Python 面试题及答案(2018 版)

1. Python 面试问题及答案
作为一个 Python 新手,你必须熟悉基础知识。在本文中我们将讨论一些 Python 面试的基础问题和高级问题以及答案,以帮助你完成面试。包括 Python 开发问题、编程问题、数据结构问题、和 Python 脚本问题。让我们来深入研究这些问题Python 面试问题

Q.1. Python 的特点和优点是什么?
Python 可以作为编程的入门语言,因为他具备以下特质:
1. 解释性
2. 动态特性
3. 面向对象
4. 语法简洁
5. 开源
6. 丰富的社区资源
实际上 Python 的优点远不止这些,更详细的介绍可以阅读 Introduction to Python( https://data-flair.training/blogs/python-tutorial/

Q.2. 深拷贝和浅拷贝的区别是什么?
深拷贝是将对象本身复制给另一个对象。这意味着如果对对象的副本进行更改时不会影响原对象。在 Python 中,我们使用 deepcopy函数进行深拷贝,使用方法如下:



会出现以下错误提示:
TypeError: ‘tuple’ object does not support item assignment
关于列表和元祖的更多内容参考 Tuples vs Lists( https://data-flair.training/blogs/python-tuples-vs-lists/

2. Python 面试基础题
Q.4 到 Q.20 是新手经常会被问到的一些 Python 基础题,有经验的人也可以参考这些问题来复习这些概念。
Q.4. 解释 Python 中的三元表达式
与 C++不同, 在 Python 中我们不需要使用 ? 符号,而是使用如下语法:
[on true] if [expression]else [on false]
如果 [expression] 为真, 则 [on true] 部分被执行。如果表示为假则 [on false] 部分被执行
下面是例子:


运行结果如下:
Help on function copy in module copy
copy(x)
Shallow copy operation on arbitrary Python objects.
See the module』s __doc__ string for more info.
dir 函数返回对象中的所有成员 (任何类型)




Q.12. 什么是 Python 字典?
字典是我在 C++和 Java 中没有见过的数据结构,它拥有键-值对


Q.13. 能否解释一下 *args 和 **kwargs?
如果我们不知道将多少个参数传递给函数,比如当我们想传递一个列表或一个元组值时,就可以使用*args。


a.1
b.2
c.7
使用 args 和 kwargs 作为参数名只是举例,可以任意替换。
对于 Python 的基础题任何疑问,请在评论区提问。

Q.14. 编程实现计算文件中的大写字母数


[3, 4, 8, 0, 5, 7, 6, 2, 1]
Q.17. 解释 Python 中的 join 和 split 函数
join 函数可以将指定的字符添加到字符串中。
‘1,2,3,4,5’
split 函数可以用指定的字符分割字符串
[‘1’, ‘2’, ‘3’, ‘4’, ‘5’]

Q.18. Python 区分大小写吗?
验证 Python 是否区分大小写的方法是测试 myname 和 Myname 在程序中是不是算同一个标识符。观察以下代码的返回结果:




Q.20. 如何删除字符串中的前置空格
前置空格是第一个非空格字符前的所有空格,使用 lstrip 函数来删除.


如图这个字符串既包含前置空格也包含后置空格. 调用 lstrip 函数去除了前置空格。如果想去除后置空格,使用 rstrip 函数。


以上是面向 Python 新手的基础题部分。
3. Python 面试进阶题
Q. 21 至 Q. 35 是针对有经验者的一些 Python 面试问题及其答案和示例。
Q.21. 如何将字符串转换为小写?
使用 lower 函数
‘ayushi’
转换为大写用 upper 函数
‘AYUSHI’
要检查字符串是否为全大写或全小写,使用 isupper 和 islower 函数


类似的 break 语句可以跳出循环。


0
1
2
4
5
6

Q.23. 请解释 Python 中的闭包?
如果在一个内部函数里。对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就是一个闭包。


Q.27. 解释 Python 中的逻辑运算符
Python 中有三个逻辑运算符:and、or、not


Q.29. 解释 Python 中的身份运算符
这是非常常见的 Python 面试题,用下面的示例来回答.
is 和 not is 运算符可以判断两个对象是否相同


Q.33. 问什么标识符不建议使用下划线开头?
因为在 Python 中以下划线开头的变量为私有变量,如果你不想让变量私有,就不要使用下划线开头。

Q.34. 如何声明多个变量并赋值?
有两种方式:


(3, 4, 5)
将 3,4,5 封装到元组 mytuple 中。
现在我们要将这些值解封装到变量 x,y,z 中
12
以上是 Python 高级面试问题和答案,新手也可以参考这些问题以获得进阶的 Python 知识。
4. 结束语
本篇文章介绍了一些重要的 Python 面试问题和答案,后续我们还会增加。在你面试之前应该熟练掌握这些。如有想添加的问题欢迎随时评论。

来源:AI 研习社编译的技术博客

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马