100 个基本 Python 面试问题第四部分(61-80),Python核心知识点

本文介绍了Python中处理异常的Try/Except/Finally结构,展示了如何根据条件引发异常。接着探讨了迭代器的概念,并区分了Iterator和Iterable的区别。此外,还讲解了Python的生成器、闭包、装饰器的定义和用法。通过实例解释了如何创建和操作字典,包括添加、读取、遍历、删除元素的方法。最后,简述了列表推导式和字典推导式的语法,并鼓励读者加入程序员交流圈子共同学习成长。
摘要由CSDN通过智能技术生成

回到目录


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 p

  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值