本文精心挑选了10道Python程序员面试题,覆盖了Python的多个核心领域,包括装饰器、lambda函数、列表推导式、生成器、全局解释器锁(GIL)、单例模式以及上下文管理器等。每道题都附有简洁的代码示例,帮助读者更好地理解和应用相关知识点。
题目1: 描述Python中的装饰器(Decorator)是什么,并给出一个简单的例子。
def my_decorator(func):
def wrapper():
print("Something is happening before the function is called.")
func()
print("Something is happening after the function is called.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
题目2: Python中的lambda函数是什么?给出一个使用lambda函数的例子。
double = lambda x: x * 2
print(double(5)) # 输出: 10
题目3: 解释Python中的列表推导式(List Comprehension)是什么,并给出一个例子。
squares = [x**2 for x in range(10)]
print(squares) # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
题目4: 什么是Python中的生成器(Generator)?给出一个生成器的简单例子。
def simple_generator():
n = 1
while n < 10:
yield n
n += 1
for num in simple_generator():
print(num)
题目5: 在Python中,pass
语句的作用是什么?
答案:pass
语句在Python中是一个空操作——当它被执行时,什么也不发生。它被用作一个占位符,当语法需要一个语句,但程序不需要任何操作时。