Урок 20 из 84 · Основы Python

Встроенные функции

Содержание урока

30 основных встроенных функций python

Встроенные функции являются одними из важнейших элементов языка 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'>
Отзыв