Стандартные функции

Стандартная библиотека Python богата различными функциями, для работы с данными, сетевыми протоколами, операционной системой, файлами, XML, регулярными выражениями и прочим. Собственно, это одна из причин по которой Python так популярен. Зачастую, не надо писать какой-то алгоритм с нуля, можно взять готовую функцию из стандартной библиотеки или из большого количества сторонних модулей. Но это десятки встроенных функций и классов, сотни инструментов, входящих в стандартную библиотеку Python, и тысячи сторонних библиотек на PyPI. Держать всё в голове начинающему программисту нереально. Сейчас мы быстро перечислим основные функции, которыми мы будем пользоваться в нашем курсе.

Начнем с уже известных нам print(), len(), str(), int(), float(), надеюсь вы их помните и повторять мы их не будем.

list

Эта функция может очень облегчить задачу, если вы хотите составить список из итераций цикла.

>>> numbers = [2, 1, 3, 5, 8]
>>> squares = (n**2 for n in numbers)
>>> squares
 at 0x7fd52dbd5930>
>>> list_of_squares = list(squares)
>>> list_of_squares
[4, 1, 9, 25, 64]

При работе со списком метод copy позволяет создать его копию.

>>> copy_of_squares = list_of_squares.copy()

Если вы не знаете, с какими элементами работаете, функция list является более общим способом перебора элементов и их копирования.

>>> copy_of_squares = list(list_of_squares)

tuple

Эта функция во многом похожа на функцию list, за исключением того, что вместо списков она создает кортежи.

>>> numbers = [2, 1, 3, 4, 7]
>>> tuple(numbers)
(2, 1, 3, 4, 7)

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

dict

Эта функция создаёт новый словарь.

Подобно спискам и кортежам, dict эквивалентна проходу по массиву пар «ключ-значение» и созданию из них словаря.

Дан список кортежей, по два элемента в каждом.

>>> color_counts = [('red', 2), ('green', 1), ('blue', 3), ('purple', 5)]

Выведем его на экран с помощью цикла.

>>> colors = {}
>>> for color, n in color_counts:
...     colors[color] = n
...
>>> colors
{'red': 2, 'green': 1, 'blue' 3, 'purple': 5}

То же самое, но с использованием dict.

>>> colors = dict(color_counts)
>>> colors
{'red': 2, 'green': 1, 'blue' 3, 'purple': 5}

range

Эта функция создаёт объект range, который представляет собой диапазон чисел.

>>> range(10_000)
range(0, 10000)
>>> range(-1_000_000_000, 1_000_000_000)
range(-1000000000, 1000000000)

Результирующий диапазон чисел включает начальный номер, но исключает конечный (range(0, 10) не включает 10).

Данная функция полезна при переборе чисел.

>>> for n in range(0, 50, 10):
...     print(n)
...
0
10
20
30
40

Обычный вариант использования — выполнить операцию n раз.

first_five = [get_things() for _ in range(5)]

Функция range в Python возвращает список.

bool

Эта функция проверяет достоверность (истинность) объектов Python. Относительно чисел будет выполняться проверка на неравенство нулю.

>>> bool(5)
True
>>> bool(-1)
True
>>> bool(0)
False

Применяя bool к коллекциям, будет проверяться их длина (больше 0 или нет).

>>> bool('hello')
True
>>> bool('')
False
>>> bool(['a'])
True
>>> bool([])
False
>>> bool({})
False
>>> bool({1: 1, 2: 4, 3: 9})
True
>>> bool(range(5))
True
>>> bool(range(0))
False
>>> bool(None)
False

Проверка истинности очень важна в Python. Вместо того, чтобы задавать вопросы о длине контейнера, многие новички задают проверку истинности.

# Вместо этого
if len(numbers) == 0:
    print("The numbers list is empty")

# многие делают так
if not numbers:
    print("The numbers list is empty")

Данная функция используется редко. Но, если нужно привести значение к логическому типу для проверки его истинности, bool вам необходима.

sum

Эта функция берёт набор чисел и возвращает их сумму.

>>> sum([2, 1, 3, 4, 7])
17

В Python есть много вспомогательных функций, которые выполняют циклы за вас (отчасти потому, что они хорошо сочетаются с генератор-выражениями).

>>> numbers = [2, 1, 3, 4, 7, 11, 18]
>>> sum(n**2 for n in numbers)
524

min и max

Эти функции выдают минимальное и максимальное число из набора соответственно.

>>> numbers = [2, 1, 3, 4, 7, 11, 18]
>>> min(numbers)
1
>>> max(numbers)
18

Данные методы сравнивают элементы, используя оператор <. Поэтому, все передаваемые в них значения должны быть упорядочены и сопоставимы друг с другом.

type

Эта функция возвращает тип объекта, который вы ей передаете.

Тип экземпляра класса есть сам класс.

>>> x = [1, 2, 3]
>>> type(x)
<class 'list'>

Это основные, но далеко не все функции стандартной библиотеки Python, читайте примеры кода и вы встретитесь с еще большим количеством функций.

results matching ""

    No results matching ""