100 个基本 Python 面试问题第四部分(61-80),2024春招面试资格线

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
img

正文

image.png

为了演示组合,我们需要实例化类中的其他对象,然后使用这些实例。

class PC: # 基类

processor = “Xeon” # 通用属性

def init(self, processor, ram):

self.processor = processor

self.ram = ram

def set_processor(self, new_processor):

processor = new_processor

def get_PC(self):

return “%s cpu & %s ram” % (self.processor, self.ram)

class Tablet():

make = “Intel”

def init(self, processor, ram, make):

self.PC = PC(processor, ram) # 作品

self.make = make

def get_Tablet(self):

return “Tablet with %s CPU & %s ram by %s” % (self.PC.processor, self.PC.ram, self.make)

if name == “main”:

tab = Tablet(“i7”, “16 GB”, “Intel”)

print(tab.get_Tablet())

输出是:

Tablet with i7 CPU & 16 GB ram by Intel

回到目录


Q-64:Python 程序中的错误和异常是什么?


错误是程序中可能导致其异常退出的编码问题。

相反,异常的发生是由于外部事件的发生中断了程序的正常流程。

回到目录


Q-65:你如何在 Python 中使用 Try/Except/Finally 处理异常?


Python 制定了 Try、Except、Finally 结构来处理错误和异常。我们将缩进的不安全代码括在 try 块下。我们可以将回退代码保留在 except 块中。任何打算最后执行的指令都应该在 finally 块下。

try:

print(“在 try 块中执行代码”)

print(exception)

except:

print(“进入except块”)

finally:

print(“到达最后一个区块”)

输出是:

在 try 块中执行代码

进入except块

到达最后一个区块

回到目录


Q-66:你如何为 Python 中的预定义条件引发异常?


我们可以根据某些条件引发异常。

例如,如果我们希望用户只输入奇数,否则会引发异常。

示例 - 引发异常

while True:

try:

value = int(input(“输入一个奇数-”))

if value%2 == 0:

raise ValueError(“由于无效输入退出!!!”)

else:

print(“输入的值为: %s” % value)

except ValueError as ex:

print(ex)

break

输出是:

输入一个奇数- 2

由于无效输入退出!!!

输入一个奇数- 1

输入的值为: 1

输入一个奇数-

回到目录


Q-67:什么是 Python 迭代器?


Python 中的迭代器是类似数组的对象,允许在下一个元素上移动。我们在遍历循环时使用它们,例如在“for”循环中。

Python 库没有。的迭代器。例如,一个列表也是一个迭代器,我们可以在它上面启动一个 for 循环。

回到目录


Q-68:Iterator 和 Iterable 有什么区别?


列表、元组、字典和集合等集合类型都是可迭代对象,而它们也是可迭代容器,在遍历时返回迭代器。

回到目录


以下是一些高级 Python 面试问题。

Q-69:什么是 Python 生成器?


Generator 是一种函数,它让我们指定一个函数,它的作用类似于迭代器,因此可以在“for”循环中使用。

在生成器函数中,yield 关键字替代了 return 语句。

def fn():

return “简单的 Python 函数”

def generate():

yield “Python 生成器函数”

print(next(generate()))

输出是:

Python 生成器函数

回到目录


Q-70:Python 中的闭包是什么?


Python 闭包是由另一个函数返回的函数对象。我们使用它们来消除代码冗余。

在下面的例子中,我们编写了一个简单的乘法闭包。

def multiply_number(num):

def product(number):

‘product() here is a closure’

return num * number

return product

num_2 = multiply_number(2)

print(num_2(11))

print(num_2(24))

num_6 = multiply_number(6)

print(num_6(1))

输出是:

22

48

6

回到目录


Q-71:Python 中的装饰器是什么?


Python 装饰器使我们能够动态地向给定对象添加新行为。在下面的示例中,我们编写了一个简单的示例来显示函数执行前后的消息。

def decorator_sample(func):

def decorator_hook(*args, **kwargs):

print(“函数调用前”)

result = func(*args, **kwargs)

print(“函数调用后”)

return result

return decorator_hook

@decorator_sample

def product(x, y):

“两个数相乘的函数”

return x * y

print(product(3, 3))

输出是:

函数调用前

函数调用后

9

回到目录


Q-72:你如何在 Python 中创建字典?


让我们以建筑工地统计为例。为此,我们首先需要使用冒号(“:”)拆分键值对。键应该是不可变类型,也就是说,我们将使用不允许在运行时更改的数据类型。我们将从整数、字符串或元组中进行选择。

但是,我们可以采用任何类型的值。为了区分数据对,我们可以使用逗号(“,”)并将整个内容保留在花括号({…})中。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

type(site_stats)

<class ‘dict’>

print(site_stats)

{‘type’: ‘organic’, ‘site’: ‘tecbeamers.com’, ‘traffic’: 10000}

回到目录


Q-73:你如何在 Python 中读取字典?


要从字典中获取数据,我们可以使用键直接访问。我们可以在提到字典对应的变量名后使用方括号 […] 将“key”括起来。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

print(site_stats[“traffic”])

我们甚至可以调用 get 方法从字典中获取值。它还让我们设置一个默认值。如果缺少密钥,则会发生 KeyError。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

print(site_stats.get(‘site’))

tecbeamers.com

回到目录


Q-74:如何在 Python 中遍历字典对象?


我们可以使用“for”和“in”循环来遍历字典对象。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

for k, v in site_stats.items():

print(“The key is: %s” % k)

print(“The value is: %s” % v)

print(“++++++++++++++++++++++++”)

输出是:

The key is: type

The value is: organic

++++++++++++++++++++++++

The key is: site

The value is: tecbeamers.com

++++++++++++++++++++++++

The key is: traffic

The value is: 10000

++++++++++++++++++++++++

回到目录


Q-75:你如何在 Python 中向字典添加元素?


我们可以通过使用新键修改字典来添加元素,然后为其设置值。

#设置一个空白字典

site_stats = {}

site_stats[‘site’] = ‘google.com’

site_stats[‘traffic’] = 10000000000

site_stats[‘type’] = ‘Referral’

print(site_stats)

{‘type’: ‘Referral’, ‘site’: ‘google.com’, ‘traffic’: 10000000000}

我们甚至可以在 update() 方法的帮助下连接两个字典以获得更大的字典。

site_stats[‘site’] = ‘google.co.in’

print(site_stats)

{‘site’: ‘google.co.in’}

site_stats_new = {‘traffic’: 1000000, “type”: “social media”}

site_stats.update(site_stats_new)

print(site_stats)

{‘type’: ‘social media’, ‘site’: ‘google.co.in’, ‘traffic’: 1000000}

回到目录


Q-76:如何在 Python 中删除字典的元素?


我们可以使用 del() 方法删除字典中的键。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

del site_stats[“type”]

print(site_stats)

{‘site’: ‘google.co.in’, ‘traffic’: 1000000}

我们可以使用的另一种方法是 pop() 函数。它接受密钥作为参数。另外,第二个参数,如果键不存在,我们可以传递一个默认值。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

print(site_stats.pop(“type”, None))

organic

print(site_stats)

{‘site’: ‘tecbeamers.com’, ‘traffic’: 10000}

回到目录


Q-77:你如何检查字典中键的存在?


我们可以使用 Python 的“in”运算符来测试 dict 对象中是否存在键。

site_stats = {‘site’: ‘tecbeamers.com’, ‘traffic’: 10000, “type”: “organic”}

‘site’ in site_stats

True

‘traffic’ in site_stats

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
8eda180e0.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56iL5bqP5aqb56eD56eD,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-q23yQFqM-1713268159082)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值