Продвинутый Python

Продвинутые статьи про язык Python. Сначала желательно прочесть основной курс.

Подкатегории:

Пакетный менеджер pip

Одной из сильных сторон Python является богатая экосистема библиотек и пакетов, которые можно легко установить с помощью pip. pip (Package Installer for Python) — это стандартный менеджер пакетов, используемый для установки и управления программными пакетами, написанными на Python (а также на других языках, но имеющих интерфейс для вызова из Python). В …

Пользовательские исключения

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

Зачем создавать пользовательские исключения?

В Python есть множество встроенных исключений, таких как ValueError, TypeError, IndexError и много других, но все …

PEP 8 - руководство по написанию кода

Этот документ описывает соглашение о том, как писать код для языка Python, включая стандартную библиотеку, входящую в состав Python.

Этот документ и PEP 257 (Docstring Conventions) были адаптированы из оригинальных рекомендаций Гвидо ван Россума "Руководство по стилю Python", с некоторыми дополнениями из руководства по стилю Барри.

Многие проекты имеют свои …

yield и функции-генераторы

Инструкция yield в Python является одной из мощных и гибких возможностей языка, предназначенной для создания функций-генераторов (не путать с выражениями-генераторами списков!). Генераторы позволяют создавать итераторы простым и лаконичным способом, экономя память и повышая производительность программ.

Инструкция yield

Инструкция yield используется внутри функции для превращения её в генератор. В отличие от …

Выражения-генераторы списков, словарей, множеств, итераторов

Представьте, что нам нужно создать список из чисел от 1 до 100, не кратных 3 (те, которые при делении на 3 дают ненулевой остаток).

Можно создать такой список через цикл for:

numbers = []
for number in range(1, 101):
    if number % 3:
        numbers.append(number)

Получился код на 4 строки. При …

Наследование классов

Наследование — один из основополагающих принципов объектно-ориентированного программирования (ООП).

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

В данной статье мы подробно рассмотрим концепцию наследования в Python, его виды, синтаксис и особенности.

Основные понятия наследования

Базовый …

Рекурсия

В программировании рекурсия — вызов функции из неё же самой, непосредственно или через другие функции.

В Python, как и в других языках программирования, есть возможность вызывать функции рекурсивно.

Для примера, попробуем вычислить произведение всех элементов списка рекурсивно:

1
2
3
4
def multiply_all(array):
    if not array:
        return 1
    return array …

Декораторы

Для того, чтобы понять, как работают декораторы, в первую очередь следует вспомнить, что функции в Python - тоже объекты, соответственно, их можно возвращать из другой функции или передавать в качестве аргумента. Также следует помнить, что функция в python может быть определена и внутри другой функции.

Вспомнив это, можно смело переходить к …