附答案 | 最强Python面试题之Python基础题(4)

本文正在参与【[面霸养成记 ] 】 征文活动,一起来聊聊校招的那些事吧,牛客周边和百元京东卡等你来领~

写在之前

大家好呀,我是帅蛋。

今天是 Python 基础面试题第四弹,也是 Python 基础面试题的最后一部分,明天我们就开始 Python 进阶面试题的更新~

今天加餐,更新 12 道面试题,Python 面试八股文,都在我的【最强Python面试题】系列啦。

大家一定要记得点赞收藏呀!!!

以下是历史文章,题目排名不分先后,都要牢牢掌握!


顺便提一句,我所有和面试相关的内容都会放在#帅蛋的面试空间# 中,大家可以关注下这个话题~

我会尽我最大的努力帮助到大家哒!!!

欢迎和帅蛋聊一聊~扣扣群:609771600,获取最新秋招信息 & 内推进度,日常聊聊迷茫吹吹牛皮,抱团取暖❤️❤️❤️

主要内容

这些面试题是我结合自己的经验整理的,主要就是下面这 5 个方面:

  • Python 基础面试题
  • Python 进阶
  • Python 后台开发
  • 爬虫
  • 机器学习

对每道面试题我都会附带详细的答案,有些我觉得重要的内容会详细讲解,虽然是面试八股文,我还是希望大家不是只“知其然”,更得“知其所以然”

关于更新频率,每天我会更新 10 道题左右,总共会有差不多 200 道。

无论是准备面试还是自己学习,这份面试题绝对值得你去看,去学习。

大家可以关注我,再关注我,使劲关注我,不要错过每天的更新~

以下是正文

Python 基础面试题第四弹正式开始,大家一定要记得点赞收藏,一起加油!

1、read、readline 和 readlines 的区别?

read:读取整个文件。

readline:读取下一行,使用生成器方法。

readlines:读取整个文件到一个迭代器以供我们遍历。

2、range 和 xrange 的区别?

两者用法相同,不同的是 range 返回的结果是一个列表,而 xrange 的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表
很长时,使用 xrange 性能要比 range 好。(稍作了解即可,xrange 现在不怎么用,但是不排除有人不知道)

3、请简述你对 input()函数的理解?

在 Python3 中,input()获取用户输入,不论用户输入的是什么,获取到的都是字符串类型的。

在 Python2 中有 raw_input()和 input(), raw_input()和 Python3 中的 input()作用是一样的,
input()输入的是什么数据类型的,获取到的就是什么数据类型的。

4、代码中要修改不可变数据会出现什么问题?抛出什么异常?

代码不会正常运行,抛出 TypeError 异常。

5、print 调用 Python 中底层的什么方法?

print 方法默认调用 sys.stdout.write 方法,即往控制台打印字符串。

6、Python 的 sys 模块常用方法

sys.argv 命令行参数 List,第一个元素是程序本身路径

sys.modules.keys() 返回所有已经导入的模块列表

sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback 当前处理的
异常详细信息

sys.exit(n) 退出程序,正常退出时 exit(0)  sys.hexversion 获取 Python 解释程序的版本值,16 进制格式如:0x020403F0

sys.version 获取 Python 解释程序的版本信息

sys.maxint 最大的 Int 值

sys.maxunicode 最大的 Unicode 值

sys.modules 返回系统导入的模块字段,key 是模块名,value 是模块

sys.path 返回模块的搜索路径,初始化时使用 PYTHONPATH 环境变量的值

sys.platform 返回操作系统平台名称

sys.stdout 标准输出

sys.stdin 标准输入

sys.stderr 错误输出

sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息

sys.exec_prefix 返回平***立的 python 文件安装的位置

sys.byteorder 本地字节规则的指示器,big-endian 平台的值是'big',little-endian 平台的值是
'little'  sys.copyright 记录 python 版权相关的东西

sys.api_version 解释器的 C 的 API 版本

sys.version_info 元组则提供一个更简单的方法来使你的程序具备 Python 版本要求功能

7、unittest 是什么?

在 Python 中,unittest 是 Python 中的单元测试框架。它拥有支持共享搭建、自动测试、在测试
中暂停代码、将不同测试迭代成一组等的功能。

8、模块和包是什么?

在 Python 中,模块是搭建程序的一种方式。每一个 Python 代码文件都是一个模块,并可以引用
其他的模块,比如对象和属性。

一个包含许多 Python 代码的文件夹是一个包。一个包可以包含模块和子文件夹。

9、什么是正则的贪婪匹配?

>>>re.search('ab*c', 'abcaxc')
<_sre.SRE_Match object; span=(0, 3), match='abc'>

>>>re.search('ab\D+c', 'abcaxc')
<_sre.SRE_Match object; span=(0, 6), match='abcaxc'>

贪婪匹配:正则表达式一般趋向于最大长度匹配,也就是所谓的贪婪匹配。

非贪婪匹配:就是匹配到结果就好,就少的匹配字符。

10、常用字符串格式化哪几种?

% 格式化字符串操作符

print 'hello %s and %s' % ('df', 'another df')

字典形式的字符串格式化方法

print 'hello %(first)s and %(second)s' % {'first': 'df', 'second': 'another df'}

字符串格式化(format)

(1) 使用位置参数

位置参数不受顺序约束,且可以为{},参数索引从0开始,format里填写{}对应的参数值。

>>> msg = "my name is {}, and age is {}"
>>> msg.format("hqs",22)
'my name is hqs, and age is 22'

(2) 使用关键字参数

关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可

>>> hash = {'name':'john' , 'age': 23}
>>> msg = 'my name is {name}, and age is {age}'
>>> msg.format(**hash)
'my name is john,and age is 23'

(3) 填充与格式化

:[填充字符][对齐方式 <^>][宽度]

>>> '{0:*<10}'.format(10)      # 左对齐
'10********'

11、面向对象深度优先和广度优先是什么?

在子类继承多个父类时,属性查找方式分深度优先和广度优先两种。

当类是经典类时,多继承情况下,在要查找属性不存在时,会按照深度优先方式查找下去。

当类是新式类时,多继承情况下,在要查找属性不存在时,会按照广度优先方式查找下去。

12、“一行代码实现 xx”类题目

(1) 一行代码实现 1 - 100 的和

可以利用 sum() 函数。

图片说明

(2) 一行代码实现数值交换

不用二话,直接换。

图片说明

(3) 一行代码求奇偶数

使用列表推导式。

图片说明

(4) 一行代码展开列表

使用列表推导式,稍微复杂一点,注意顺序。

图片说明

(5) 一行代码打乱列表

用到 random 的 shuffle。

图片说明

(6) 一行代码反转字符串

使用切片。

图片说明

(7) 一行代码查看目录下所有文件

使用 os 的 listdir。

图片说明

(8) 一行代码去除字符串间的空格

法 1 replace 函数。

图片说明

法 2 join & split 函数。

图片说明

(9) 一行代码实现字符串整数列表变成整数列表

使用 list & map & lambda。

图片说明

(10) 一行代码删除列表中重复的值

使用 list & set。

图片说明

**(11) 一行代码实现 9 * 9 乘法表

稍稍复杂的列表推导式,耐心点就行,一点点的搞...

图片说明

(12) 一行代码找出两个列表中相同的元素

使用 set 和 &。

图片说明

(13) 一行代码找出两个列表中不同的元素

使用 set 和 ^。

图片说明

(14)一行代码合并两个字典

使用 Update 函数。

图片说明

(15) 一行代码实现字典键从小到大排序

使用 sort 函数。

图片说明

<


以上就是今天的内容,我是帅蛋,我们明天见~

❤️ 欢迎关注我,有问题,找帅蛋,我最看不得别人迷茫!

❤️ 如果你觉得有帮助,希望爱学习的你不要吝啬三连击哟[点赞 + 收藏 + 评论]~

还有小小公众号 【编程文青李狗蛋】,聊聊迷茫吹吹牛皮~

#面试八股文##帅蛋的面试空间##秋招##Python##python面试#
全部评论
来啦来啦,今天我如约来啦,顶起来~
2 回复
分享
发布于 2022-07-21 14:35
beautiful!!!
1 回复
分享
发布于 2022-07-21 15:09
阿里巴巴
校招火热招聘中
官网直投
今天的狗蛋,格外帅气
点赞 回复
分享
发布于 2022-07-21 15:06
点赞 回复
分享
发布于 2022-07-21 15:08
更多精彩内容,请查看#帅蛋的面试空间#
点赞 回复
分享
发布于 2022-07-21 15:16
帅蛋🐮🍺
点赞 回复
分享
发布于 2022-07-21 16:04
帅蛋第4天更了
点赞 回复
分享
发布于 2022-07-21 18:48
顶顶顶,催更中!!!
点赞 回复
分享
发布于 2022-07-31 16:45
python3没有xrange了
点赞 回复
分享
发布于 2022-11-19 19:17 浙江

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 14:57
点赞 评论 收藏
转发
头像
02-26 22:09
已编辑
嵌入式软件开发
点赞 评论 收藏
转发
28 90 评论
分享
牛客网
牛客企业服务