Комментарии (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 — очень быстрые
- Используй их вместо циклов — часто быстрее и чище