Функции
Что такое декоратор?
Декоратор в Python — это функция, которая принимает другую функцию и расширяет её функциональность без изменения её кода.
Пример:
def my_decorator(func):
def wrapper():
print("Something before the function.")
func()
print("Something after the function.")
return wrapper
@my_decorator
def say_hello():
print("Hello!")
say_hello()
При вызове say_hello() будет выведено:
Something before the function.
Hello!
Something after the function.
Объясните, как работает функция range
Функция range в Python используется для генерации последовательности чисел. Она имеет три параметра: start, stop, step.
Примеры:
-
range(stop):for i in range(5): print(i) # Вывод: 0, 1, 2, 3, 4 -
range(start, stop):for i in range(1, 5): print(i) # Вывод: 1, 2, 3, 4 -
range(start, stop, step):for i in range(1, 10, 2): print(i) # Вывод: 1, 3, 5, 7, 9
range возвращает объект, который можно итерировать для получения
чисел в заданном диапазоне.
В чем разница между func и func()?
func: это ссылка на саму функцию, которую можно передать в
качестве аргумента или сохранить в переменную.
func(): это вызов функции, который выполняет её код и
возвращает результат.
Пример:
def greet():
return "Hello"
# func - ссылка на функцию
reference = greet
# func() - вызов функции
result = greet()
print(reference) # <function greet at 0x...>
print(result) # "Hello"
Объясните, как работает функция map
Функция map в Python применяет заданную функцию ко всем элементам указанного итерируемого объекта (например, список) и возвращает итератор с результатами.
Пример:
def square(x):
return x * 2
numbers = [1, 2, 3, 4, 5]
result = map(square, numbers)
print(list(result)) # [2, 4, 6, 8, 10]
map берет функцию square и применяет её ко всем
элементам списка numbers. Результат — новый итератор, который
преобразуется в список для отображения.
Объясните, как работает функция reduce
Функция reduce из модуля functools в Python применяет указанную функцию к элементам последовательности, сводя её к одному значению.
Пример:
from functools import reduce
def add(x, y):
return x + y
numbers = [1, 2, 3, 4, 5]
result = reduce(add, numbers)
print(result) # 15
reduce последовательно применяет функцию add к
элементам списка: сначала к первым двум, затем результат к следующему
элементу и так далее, пока не останется одно значение.
Объясните, как работает функция filter
Функция filter в Python используется для создания итератора, состоящего из элементов, которые удовлетворяют условию, заданному в виде функции.
Пример:
def is_even(n):
return n % 2 == 0
numbers = [1, 2, 3, 4, 5, 6]
result = filter(is_even, numbers)
print(list(result)) # [2, 4, 6]
filter применяет функцию is_even ко всем элементам
списка numbers и возвращает итератор, содержащий только те
элементы, для которых функция вернула True.