Встроенные функции являются одними из важнейших элементов языка Python. Они не только часто используются, но и отвечают за те вещи, которых не добиться другими способами. В Python десятки встроенных функций, и у каждой из них есть уникальные возможности.
В этой статье рассмотрим самые популярные встроенные функции Python. Для каждой из них будет представлено описание и один пример. Примеры выполняются в консоли Python Shell.
1. abs()
Функция abs()
в Python возвращает абсолютное значение числа. Если это комплексное число, то абсолютным значением будет величина целой и мнимой частей.
>>> abs(-5.6)
5.6
2. chr()
Функция chr()
возвращает строку, представляющую символ Unicode для переданного числа. Она является противоположностью ord()
, которая принимает символ и возвращает его числовой код.
>>> chr(97)
'a'
3. callable()
Вызываемый объект — это объект, который можно вызвать. Функция callable()
сообщает, является ли объект вызываемым. Если да, то возвращает True
, а в противном случае — False
.
>>> callable(5)
False
4. complex()
Комплексное число — это число, представленное в форме a + bi. Оно принимает целые числа или строки и возвращает соответствующее комплексное число. Если передать неподходящее значение, то вернется ошибка ValueError
.
>>> complex(3)
(3+0j)
>>> complex(-3,-2)
(-3-2j)
5. dict()
Эта функция используется в Python для создания словарей. Это же можно делать и вручную, но функция предоставляет большую гибкость и дополнительные возможности. Например, ей в качестве параметра можно передать несколько словарей, объединив их в один большой.
>>> dict({"a":1, "b":2}, c = 3)
{'a': 1, 'b': 2, 'c': 3}
>>> list = [["a",1],["b",2]]
>>> dict(list)
{'a': 1, 'b': 2}
6. dir()
Функция dir()
получает список вех атрибутов и методов объекта. Если объект не передать, то функция вернет все имена модулей в локальном пространстве имен.
>>> x = ["Яблоко", "Апельсин", "Гранат"]
>>> print(dir(x))
['__add__', '__class__', '__contains__',....]
7. enumerate()
В качестве параметра эта функция принимает последовательность. После этого она перебирает каждый элемент и возвращает его вместе со счетчиком в виде перечисляемого объекта. Основная особенность таких объектов — возможность размещать их в цикле для перебора.
>>> x = "Строка"
>>> list(enumerate(x))
[(0, 'С'), (1, 'т'), (2, 'р'), (3, 'о'), (4, 'к'), (5, 'а')]
8. eval()
eval()
обрабатывает переданное в нее выражение и исполняет его как выражение Python. После этого возвращается значение. Чаще всего эта функция используется для выполнения математических функций.
>>> eval('2+2')
4
>>> eval('2*7')
14
>>> eval('5/2')
2.5
9. filter()
Как можно догадаться по названию, эта функция используется для перебора итерируемых объектов и последовательностей, таких как списки, кортежи и словари. Но перед ее использованием нужно также иметь подходящую функцию, которая бы проверяла каждый элемент на валидность. Если элемент подходит, он будет возвращаться в вывод.
list1 = [3, 5, 4, 8, 6, 33, 22, 18, 76, 1]
result = list(filter(lambda x: (x%2 != 0) , list1))
print(result)
10. float()
Эта встроенная функция конвертирует число или строку в число с плавающей точкой и возвращает результат. Если из-за некорректного ввода конвертация не проходит, возвращаются ValueError
или TypeError
.
>>> float('596')
596.0
>>> float(26)
26.0
11. hash()
У большинства объектов в Python есть хэш-номер. Функция hash()
возвращает значение хэша переданного объекта. Объекты с __hash__()
— это те, у которых есть соответствующее значение.
>>> hash('Hello World')
-2864993036154377761
>>> hash(True)
1
12. help()
Функция help()
предоставляет простой способ получения доступа к документации Python без интернета для любой функции, ключевого слова или модуля.
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
13. input()
Функция input()
— это быстрый и удобный способ получить данные от пользователя. Вызов этой функции предоставляет пользователю возможность ввести на экране текст. Затем он конвертируется в строку и возвращается в программу.
>>> value = input("Пожалуйста, введите значение: ")
Пожалуйста, введите значение: 123
>>> value
'123'
14. int()
Эта функция возвращает целое число из объекта, переданного в параметра. Она может конвертировать числа с разным основанием (шестнадцатеричные, двоичные и так далее) в целые.
>>> int(5.6)
5
>>> int('0101', 2)
5
15. iter()
Эта функция принимает объект и возвращает итерируемый объект. Сам по себе он бесполезен, но оказывается крайне эффективным при использовании в циклах for и while. Благодаря этому объект можно перебирать по одному свойству за раз.
>>> lis = ['a', 'b', 'c', 'd', 'e']
>>> x = iter(lis)
>>> next(x)
'a'
>>> next(x)
'b'
>>> next(x)
'c'
>>> next(x)
'd'
16. max()
Эта функция используется для нахождения «максимального» значения в последовательности, итерируемом объекте и так далее. В параметрах можно менять способ вычисления максимального значения.
>>> max('a', 'A')
'a'
>>> x = [5, 7, 8, 2, 5]
>>> max(x)
8
>>> x = ["Яблоко", "Апельсин", "Автомобиль"]
>>> max(x, key = len)
'Яблоко'
17. min()
Эта функция используется для нахождения «минимального» значения в последовательности, итерируемом объекте и так далее. В параметрах можно менять способ вычисления минимального значения.
>>> min('a','A')
'A'
>>> x = [5, 7, 8, 2, 5]
>>> min(x)
2
>>> x = ["Виноград", "Манго", "Фрукты", "Клубника"]
>>> min(x)
'Виноград'
18. len()
Эта функция используется для вычисления длины последовательности или итерируемого объекта.
>>> x = (2, 3, 1, 6, 7)
>>> len(x)
5
>>> len("Строка")
6
19. list()
В качестве параметра функция list()
принимает итерируемый объект и возвращает список. Она обеспечивает большие гибкость и скорость при создании списков по сравнению с обычным способом.
>>> list("Привет")
['П', 'р', 'и', 'в', 'е', 'т']
>>> list({1:"a", 2:"b", 3:"c"})
[1, 2, 3]
20. map()
Используется для применения определенной функции к итерируемому объекту. Она возвращает результат в виде итерируемого объекта (списки, кортежи, множества). Можно передать и несколько объектов, но в таком случае нужно будет и соответствующее количество функций.
>>> def inc(x):
x = x + 1
return x
>>> lis = [1,2,3,4,5]
>>> result = map(inc,lis)
>>> for x in result:
print(x)
2
3
4
5
6
21. next()
Используется для итерируемых объектов. Умеет получать следующий (next) элемент в последовательности. Добравшись до конца, выводит значение по умолчанию.
>>> lis = ['a', 'b', 'c', 'd', 'e']
>>> x = iter(lis)
>>> next(x)
'a'
>>> next(x)
'b'
>>> next(x)
'c'
>>> next(x)
'd'
22. ord()
Функция ord()
принимает один символ или строку длиной в один символ и возвращает соответствующее значение Unicode. Например, ord("a")
вернет 97, а 97 — a.
>>> ord('a')
97
>>> ord('A')
65
23. reversed()
Эта функция предоставляет простой и быстрый способ развернуть порядок элементов в последовательности. В качестве параметра она принимает валидную последовательность, например список, а возвращает итерируемый объект.
>>> x = [3,4,5]
>>> b = reversed(x)
>>> list(b)
[5, 4, 3]
24. range()
Используется для создания последовательности чисел с заданными значениями от и до, а также интервалом. Такая последовательность часто используется в циклах, особенно в цикле for.
>>> list(range(10,20,2))
[10, 12, 14, 16, 18]
25. reduce()
Выполняет переданную в качестве аргумента функцию для каждого элемента последовательности. Она является частью functools
, поэтому перед ее использованием соответствующий модуль нужно импортировать.
>>> list1 = [2, 5, 3, 1, 8]
>>> functools.reduce(operator.add,list1)
19
>>> list1 = [2, 5, 3, 1, 8]
>>> functools.reduce(operator.mul,list1)
240
>>> list1 = [2, 5, 3, 1, 8]
>>> functools.reduce(operator.truediv,list1)
0.016666666666666666
26. sorted()
Используется для сортировки последовательностей значений разных типов. Например, может отсортировать список строк в алфавитном порядке или список числовых значений по возрастанию или убыванию.
>>> X = [4, 5, 7, 3, 1]
>>> sorted(X)
[1, 3, 4, 5, 7]
27. str()
Используется для создания строковых представлений объектов, но не меняет сам объект, а возвращает новый. У нее есть встроенные механизмы кодировки и обработки ошибок, которые помогают при конвертации.
>>> str(5)
'5'
>>> X = [5,6,7]
>>> str(X)
'[5, 6, 7]'
28. set()
Функция set()
используется для создания наборов данных, которые передаются в качестве параметра. Обычно это последовательность, например строка или список, которая затем преобразуется в множество уникальных значений.
>>> set()
set()
>>> set("Hello")
{'e', 'l', 'o', 'H'}
>>> set((1,2,3,4,5))
{1, 2, 3, 4, 5}
29. sum()
Вычисление суммы — стандартная задача во многих приложениях. И для этого в Python есть встроенная функция. Она автоматически суммирует все элементы и возвращает сумму.
>>> x = [1, 2, 5, 3, 6, 7]
>>> sum(x)
24
30. tuple()
Принимает один аргумент (итерируемый объект), которым может быть, например, список или словарь, последовательность или итератор и возвращает его в форме кортежа. Если не передать объект, то вернется пустой кортеж.
>>> tuple("Привет")
('П', 'р', 'и', 'в', 'е', 'т')
>>> tuple([1, 2, 3, 4, 5])
(1, 2, 3, 4, 5)
31. type()
Функция type
применяется в двух сценариях. Если передать один параметр, то она вернет тип этого объекта. Если же передать три параметра, то можно создать объект type
.
>>> type(5)
<class 'int'>
>>> type([5])
<class 'list'>