2023python面试题
时间: 2023-09-01 11:06:52 浏览: 109
2023年最新Python面试题
很高兴回答你的问题!以下是一个可能的2023年Python面试题:
题目:请解释Python中的装饰器(Decorator)是什么,以及它们的作用。
回答:装饰器是Python中的一种特殊函数,它可以修改其他函数的行为。装饰器本质上是一个闭包,它接受一个函数作为参数,并返回一个新的函数。装饰器可以在不修改原函数代码的情况下,增加原函数的功能或者修改其行为。
装饰器的作用有很多,常见的包括:
1. 添加日志记录:可以使用装饰器来记录函数的执行时间、参数、返回值等信息,方便调试和性能优化。
2. 认证和授权:装饰器可以用于验证用户身份,检查权限等安全相关的操作。
3. 缓存数据:通过装饰器可以将函数的计算结果缓存起来,避免重复计算,提高程序性能。
4. 修改函数行为:装饰器可以在函数执行前后做一些额外的操作,比如修改参数、修改返回值等。
一个典型的装饰器的示例代码如下:
```
def logger(func):
def wrapper(*args, **kwargs):
print(f"Calling function {func.__name__}")
result = func(*args, **kwargs)
print(f"Function {func.__name__} finished")
return result
return wrapper
@logger
def add(a, b):
return a + b
print(add(1, 2))
```
在上面的例子中,`logger` 装饰器将会在调用 `add` 函数前后打印日志信息。通过使用 `@logger` 语法糖,可以简洁地将 `add` 函数应用装饰器。
希望这个回答对你有帮助!如果你有任何其他问题,请随时问我。
阅读全文