Какие функции поддерживает Python? Полное руководство

Раздел: Основы Python -> Функции

Какие встроенные функции Python существуют для базовых операций?

В языке Python имеется множество встроенных функций, доступных без подключения дополнительных модулей. Они покрывают типичные задачи: ввод/вывод, преобразование типов, работа с последовательностями и математические вычисления. Использование этих функций ускоряет разработку и снижает вероятность ошибок.

print('Привет, мир!')  # вывод строки
length = len('Python')    # длина строки (6)
number = int('42')        # преобразование строки в число

аргументы print python (аргументы функции print в python)

Привет, мир!

Python 3 аргументы (аргументы в python 3)

Функция range позволяет генерировать последовательности чисел:

for i in range(5):
    print(i, end=' ')

аргумент параметр python (аргументы и параметры в python)

0 1 2 3 4

аргумент класса python (аргументы класса python)

Типичная ошибка: вызов range с одним аргументом без указания шага приводит к последовательности от 0 до n-1. Если требуется обратный порядок, следует использовать reversed или задать отрицательный шаг.

Как создавать собственные функции с помощью def для повторного использования кода?

Определение функции через def – основной способ структурировать программу. Функция принимает аргументы, выполняет действия и возвращает результат оператором return.

def greet(name):
    return f'Привет, {name}!'

print(greet('Анна'))

Python аргументы строки (аргументы строки в python (командная строка))

Привет, Анна!

аргумент метода python (аргументы метода python)

Можно задавать значения по умолчанию:

def power(base, exp=2):
    return base ** exp

print(power(3))      # 9
print(power(3, 3))   # 27

Python args (аргументы в python)

Ошибка: изменение изменяемого объекта по умолчанию (например, список) приводит к неожиданному поведению. Рекомендуется использовать None и создавать объект внутри функции.

Когда удобно использовать анонимные функции lambda для кратких вычислений?

Lambda-функции создаются в одной строке без ключевого слова def. Они полезны в качестве аргументов для функций высшего порядка, таких как map, filter, sorted.

numbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
print(squared)

именованные аргументы функции python (именованные аргументы функции python)

[1, 4, 9, 16]

именованные аргументы python (именованные аргументы python)

Lambda не может содержать сложные выражения или инструкции (например, циклы). Для логики с условиями лучше использовать обычную функцию.

Как организовать ленивые вычисления с помощью функций-генераторов?

Генераторы используют yield вместо return. Они возвращают итератор, который выдает значения по одному, экономя память.

def count_up_to(n):
    i = 1
    while i <= n:
        yield i
        i += 1

for num in count_up_to(3):
    print(num, end=' ')

количество аргументов функции python (количество аргументов функции python)

1 2 3

параметры и аргументы функции python (параметры и аргументы функции python)

После исчерпания генератора его нельзя переиспользовать – нужно создавать новый экземпляр.

Как расширить функциональность функций без изменения их кода с помощью декораторов?

Декоратор – это функция, принимающая другую функцию и возвращающая обёртку. Декораторы часто применяются для логирования, замера времени, проверки прав доступа.

def timer(func):
    import time
    def wrapper(*args, **kwargs):
        start = time.time()
        result = func(*args, **kwargs)
        end = time.time()
        print(f'Время выполнения: {end-start:.4f} сек')
        return result
    return wrapper

@timer
def slow_sum(a, b):
    import time
    time.sleep(1)
    return a + b

print(slow_sum(3, 4))

Python передать аргументы (передача аргументов в python)

Время выполнения: 1.0012 сек
7

Python принять аргументы (приём аргументов в python)

При применении нескольких декораторов порядок имеет значение. Неправильный порядок может нарушить логику или скрыть метаданные.

Как решать задачи рекурсивно, разбивая их на подзадачи?

Рекурсия – вызов функции из самой себя. Подходит для задач с естественной вложенностью: факториал, обход деревьев, вычисление чисел Фибоначчи.

def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n-1)

print(factorial(5))

Python список аргументов (список аргументов в python)

120

Python тип аргумента (тип аргумента в python)

Глубина рекурсии ограничена (по умолчанию 1000). Для больших значений лучше использовать итеративный подход или увеличить лимит через sys.setrecursionlimit.

Какие функции высшего порядка (map, filter, reduce) используются для обработки последовательностей?

Функции высшего порядка принимают другую функцию как аргумент. map применяет функцию к каждому элементу, filter оставляет элементы по условию, reduce свёртывает последовательность в одно значение.

nums = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, nums))
even = list(filter(lambda x: x % 2 == 0, nums))
from functools import reduce
sum_all = reduce(lambda a, b: a + b, nums)
print('Квадраты:', squared)
print('Чётные:', even)
print('Сумма:', sum_all)

Python return value (возвращаемое значение функции в python)

Квадраты: [1, 4, 9, 16, 25]
Чётные: [2, 4]
Сумма: 15

В Python 3 reduce вынесен в модуль functools. Забыв импорт, получите ошибку NameError.

- значения функции python (значения функции в python)
- вывести значение функции python (вывести значение функции в python)
- вызов функции в python (вызов функции в python)

Расширенные примеры использования функций в Python

Ниже приведены более сложные сценарии, комбинирующие различные типы функций.

Комбинация декоратора и генератора для кэширования результатов

Пример
def cache(func):
    memo = {}
    def wrapper(n):
        if n not in memo:
            memo[n] = func(n)
        return memo[n]
    return wrapper

@cache
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n-1) + fibonacci(n-2)

print(fibonacci(10))  # 55
55

Декоратор cache запоминает уже вычисленные значения, что многократно ускоряет рекурсивный вызов.

Генератор, возвращающий бесконечную последовательность простых чисел

Пример
def prime_generator():
    yield 2
    primes = [2]
    n = 3
    while True:
        is_prime = all(n % p != 0 for p in primes if p * p <= n)
        if is_prime:
            primes.append(n)
            yield n
        n += 2

pg = prime_generator()
for _ in range(5):
    print(next(pg), end=' ')
2 3 5 7 11

Генератор prime_generator создаёт простые числа «на лету», не храня всю бесконечную последовательность в памяти.

Функция высшего порядка для создания конвейера обработки данных

Пример
def pipe(*functions):
    def apply(initial):
        result = initial
        for func in functions:
            result = func(result)
        return result
    return apply

cleaning = pipe(
    lambda s: s.lower(),
    lambda s: s.replace(',', ''),
    lambda s: s.split()
)
print(cleaning('Hello, World! This is Python.'))
['hello', 'world!', 'this', 'is', 'python.']

Функция pipe объединяет несколько преобразований, передавая выход одной функции на вход следующей.

Рекурсивный обход дерева каталогов с помощью функций

Пример
import os
def list_files(path):
    entries = os.listdir(path)
    files = []
    for entry in entries:
        full_path = os.path.join(path, entry)
        if os.path.isdir(full_path):
            files.extend(list_files(full_path))
        else:
            files.append(full_path)
    return files

print(list_files('.'))  # список всех файлов в текущей папке и подпапках
['./file1.txt', './subdir/file2.txt', ...]

Рекурсивная функция list_files обходит вложенные директории, собирая все пути к файлам.

Какие функции есть в Python? - comments

En
какие функции есть в python (python)