Python | Notes
5.56K subscribers
1.56K photos
2 videos
1.59K links
Заявки принимаются моментально!

⚡️Лучшие шпаргалки по Python!

Поделиться с другом - https://t.me/+ugLTJcF7eFllMDky

Менеджеры: @sorivmavb @ootrimoo @mirapoller
Download Telegram
Channel created
Matplotlib

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

Python | Notes
👍7
Функция внутри функции

Внутренние функции определяются внутри других функций. Они имеют прямой доступ к переменным и именам, определенным во внешней функций.

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

Python | Notes
👍4
__slots__

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

Для экономии ресурсов используй slots. Память выделится только для фиксированного значения атрибутов. Это позволяет снизить использование оперативной памяти почти на 40-50 процентов.

Python | Notes
👍4
Ключевое слово Lambda

Ключевое слово lambda позволяет сделать небольшие безымянные функции. Результат выражения всегда автоматически возвращается.

Лучше всего использовать lambda для одноразовых функций. В данном примере реализована сортировка по второму элементу. Не рекомендую злоупотреблять lambda, так как это повлияет на читаемость кода.

Python | Notes
👍4
Разница между “is” и “==”

Распространенной проблемой является путаница с операторами сравнения “is” и “==”. Оператор “==” сравнивает значения, в то время как “is” проверяет ссылку на один и тот же объект в памяти. В коде приведены примеры для наглядности. Есть еще нюанс со строками и целыми числами.

Короткие строки и маленькие целые числа будут возвращать True при сравнении с “is” из-за того, что Python пытается использовать меньше памяти для одинаковых объектов. Но более длинные строки и большие целые числа будут храниться отдельно.

Python | Notes
👍7🔥1
Лимит рекурсии

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

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

Python | Notes
👍4
inspect

Модуль inspect пригодится вам для использования того, что происходит за кулисами в Python. Вы так же можете вызывать его методы в них же!

Снизу пригодится метод inspect.getsource() для вывода его собственного исходного кода. Еще используется метод inspect.getmodule() для вывода модуля, в котором его утвердили.

Python | Notes
👍5