← Назад к вопросам

Какие есть встроенные функции в Python?

1.7 Middle🔥 181 комментариев
#Python Core

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Встроенные функции (Built-ins) в Python

Python имеет богатый набор встроенных функций, которые всегда доступны без импорта. Вот полный обзор:

Работа с типами данных

# int() — преобразование в целое число
int("42")           # 42
int(3.14)          # 3
int("1010", 2)     # 10 (из двоичной системы)

# float() — преобразование в вещественное число
float("3.14")      # 3.14
float("inf")       # бесконечность

# str() — преобразование в строку
str(42)            # "42"
str([1, 2, 3])     # "[1, 2, 3]"

# bool() — преобразование в булево значение
bool(1)            # True
bool("")           # False (пустая строка)
bool([])           # False (пустой список)

# list() / tuple() / dict() / set() — преобразование типов
list("abc")        # ['a', 'b', 'c']
tuple([1, 2, 3])   # (1, 2, 3)
dict([('a', 1), ('b', 2)])  # {'a': 1, 'b': 2}
set([1, 1, 2, 2])  # {1, 2}

Математические операции

# abs() — абсолютное значение
abs(-42)           # 42
abs(-3.14)         # 3.14

# round() — округление
round(3.7)         # 4
round(3.14159, 2)  # 3.14

# pow() — возведение в степень
pow(2, 3)          # 8
pow(2, 3, 5)       # 3 (2^3 mod 5)

# divmod() — деление и остаток одновременно
divmod(17, 5)      # (3, 2) — 17 // 5 = 3, 17 % 5 = 2

# min() / max() — минимум и максимум
min(3, 1, 4, 1, 5) # 1
max([1, 2, 3, 4])  # 4
min("hello")       # 'e' (лексикографически)

# sum() — сумма элементов
sum([1, 2, 3, 4])  # 10
sum([1, 2, 3], 10) # 16 (с начальным значением)

Итерирование и преобразование

# range() — последовательность чисел
range(5)           # 0, 1, 2, 3, 4
range(2, 8)        # 2, 3, 4, 5, 6, 7
range(0, 10, 2)    # 0, 2, 4, 6, 8

# enumerate() — индекс и элемент одновременно
for i, val in enumerate(["a", "b", "c"]):
    print(i, val)  # 0 a, 1 b, 2 c

# zip() — объединение последовательностей
list(zip([1, 2, 3], ["a", "b", "c"]))
# [(1, 'a'), (2, 'b'), (3, 'c')]

# map() — применение функции к каждому элементу
list(map(int, ["1", "2", "3"]))  # [1, 2, 3]
list(map(lambda x: x*2, [1, 2, 3]))  # [2, 4, 6]

# filter() — фильтрация элементов
list(filter(lambda x: x > 2, [1, 2, 3, 4, 5]))
# [3, 4, 5]

# sorted() — сортировка
sorted([3, 1, 4, 1, 5])  # [1, 1, 3, 4, 5]
sorted("hello")          # ['e', 'h', 'l', 'l', 'o']
sorted([3, 1, 4], reverse=True)  # [4, 3, 1]

Работа со строками и символами

# len() — длина объекта
len("hello")        # 5
len([1, 2, 3])      # 3
len({"a": 1, "b": 2})  # 2

# ord() / chr() — код символа и символ по коду
ord("A")           # 65
chr(65)            # "A"

# ascii() — ASCII представление
ascii("привет")    # "'\\u043f\\u0440\\u0438\\u0432\\u0435\\u0442'"

# repr() — строковое представление для разработчика
repr("hello")      # "'hello'"
repr([1, 2, 3])    # "[1, 2, 3]"

# format() — форматирование строк
format(42, "05d")       # "00042"
format(3.14159, ".2f")  # "3.14"

Проверка условий

# all() — все True?
all([True, True, True])    # True
all([True, False, True])   # False
all([1, 2, 3])            # True (все truthy)

# any() — хотя бы одно True?
any([False, False, True])  # True
any([False, False, False]) # False
any([0, "", []])          # False (все falsy)

# isinstance() — проверка типа
isinstance(42, int)        # True
isinstance("hello", str)   # True
isinstance(3.14, (int, float))  # True (проверка нескольких типов)

# issubclass() — наследование класса
issubclass(bool, int)      # True (bool наследует int)

Работа с объектами и атрибутами

# hasattr() — есть ли атрибут?
class Person:
    name = "Alice"

hasattr(Person, "name")    # True
hasattr(Person, "age")     # False

# getattr() / setattr() / delattr() — управление атрибутами
obj = Person()
getattr(obj, "name")              # "Alice"
getattr(obj, "age", "unknown")    # "unknown" (значение по умолчанию)
setattr(obj, "age", 30)           # Добавить age = 30
delattr(obj, "age")               # Удалить age

# dir() — все атрибуты объекта
dir(obj)           # ['__class__', '__dict__', ..., 'name']

# id() — уникальный идентификатор объекта в памяти
x = [1, 2, 3]
id(x)              # 140234567890123 (адрес в памяти)

# vars() — словарь атрибутов
vars(obj)          # {'name': 'Alice', 'age': 30}

# callable() — является ли объект вызываемым
callable(len)      # True
callable(42)       # False

Функции для чтения ввода

# input() — читать строку с клавиатуры
name = input("Введите имя: ")  # "input"

# Для тестирования:
import io, sys
sys.stdin = io.StringIO("Alice\n")
name = input()  # "Alice"

Область видимости и переменные

# globals() / locals() — словари переменных
x = 10
def func():
    y = 20
    print(locals())   # {'y': 20}
    print(globals())  # Все глобальные переменные

# vars() — локальные переменные (без аргументов = locals())
vars()  # То же, что locals()

Выполнение кода

# eval() — вычисление выражения
eval("2 + 3")      # 5
eval("len('hello')") # 5

# exec() — выполнение кода (с побочными эффектами)
exec("x = 42; print(x)")  # Выведет 42
exec("for i in range(3): print(i)")  # Выведет 0, 1, 2

# compile() — компиляция кода в байт-код
code = compile("x = 42", "<string>", "exec")
exec(code)  # Выполнить скомпилированный код

# ❌ Опасно: eval/exec могут исполнить произвольный код!
# Никогда не используй с untrusted input!

Объекты и функции

# type() — получить тип объекта
type(42)           # <class 'int'>
type([1, 2, 3])    # <class 'list'>

# object() — базовый объект для всех классов
obj = object()
print(obj)         # <object object at ...>

# super() — доступ к методам родительского класса
class Animal:
    def speak(self):
        return "generic sound"

class Dog(Animal):
    def speak(self):
        return super().speak() + " -> Woof!"

# staticmethod() / classmethod() — декораторы
class Math:
    @staticmethod
    def add(a, b):
        return a + b
    
    @classmethod
    def create(cls, x):
        return cls()

# property() — создать свойство (getter/setter)
class Circle:
    def __init__(self, radius):
        self._radius = radius
    
    @property
    def radius(self):
        return self._radius
    
    @radius.setter
    def radius(self, value):
        if value <= 0:
            raise ValueError("Радиус должен быть > 0")
        self._radius = value

Хеширование и сравнение

# hash() — хеш объекта
hash("hello")      # -2097950819
hash((1, 2, 3))    # 529344067

# Неизменяемые объекты имеют хеш, изменяемые нет
hash([1, 2, 3])    # TypeError: unhashable type: 'list'

# id() и == — сравнение
a = [1, 2, 3]
b = [1, 2, 3]
a == b             # True (значения равны)
a is b             # False (разные объекты)
id(a) == id(b)     # False

Специальные функции

# next() — получить следующий элемент итератора
iterator = iter([1, 2, 3])
next(iterator)     # 1
next(iterator)     # 2
next(iterator)     # 3
next(iterator)     # StopIteration

# iter() — создать итератор
iter([1, 2, 3])    # <list_iterator object>
iter("abc")        # <str_iterator object>

# reversed() — обратный порядок
list(reversed([1, 2, 3]))  # [3, 2, 1]
list(reversed("hello"))    # ['o', 'l', 'l', 'e', 'h']

# slice() — объект для slicing
s = slice(1, 4)
[1, 2, 3, 4, 5][s]  # [2, 3, 4]

# print() — вывод на экран
print("Hello", 42, [1, 2, 3], sep=", ", end="!\n")
# Выведет: Hello, 42, [1, 2, 3]!

# input() — чтение ввода
# open() — открытие файлов

Полезная таблица

ФункцияНазначениеПример
len()Длинаlen([1,2,3]) → 3
sum()Суммаsum([1,2,3]) → 6
min() / max()Минимум/максимумmax([1,5,3]) → 5
sorted()Сортировкаsorted([3,1,2]) → [1,2,3]
enumerate()Индекс+элементenumerate(['a','b']) → (0,'a'), (1,'b')
zip()Объединениеzip([1,2],[a,b]) → (1,'a'), (2,'b')
map()Преобразованиеmap(str,[1,2]) → '1', '2'
filter()Фильтрацияfilter(lambda x: x>2, [1,2,3]) → 3

Итоги

  • Более 70 встроенных функций для разных задач
  • Не требуют импорта — всегда готовы
  • Оптимизированы на C — очень быстрые
  • Используй их вместо циклов — часто быстрее и чище
Какие есть встроенные функции в Python? | PrepBro