Блог Python → Полезные материалы по Python | OTUS
О компиляции и (полу)компиляции в CPython

Python_Deep_10.12_site-5020-79682c.png

Всем известно, что Python — интерпретируемый язык программирования. Но это не совсем точно, конечно. Чтобы употреблять такие слова, нужно говорить о какой-то конкретной имплементации языка.Что же, давайте попробуем начать сначала.

Вскрываем Pandas: DataFrame + ndarray

Python_Deep_15-5020-c517ff.10_site.png

Pandas сегодня является чуть ли не go-to инструментом для решения аналитических задач. Он предоставляет удобный и понятный широкому кругу исследователей интерфейс манипуляции массивами данных. Давай те же посмотрим, что «под капотом» этой библиотеки и за счёт чего происходит такая эффективная работа с данными?

Как проще всего избежать ограничений GIL?

Python_Deep_8-5020-a10ed2.10_site.png

Многие из вас знают, что в Python есть GILGlobal Interpreter Lock, тот самый, который не даёт запускать несколько потоков и нагружать ядра процессора. Отчасти это так, но за GIL в Python скрывается очень много всего.

Генераторы в Python: как они это делают?

Python_Deep_24-5020-f0d538.09_site.png

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

Как ускорить Python с помощью C ?

Python_Deep_21-5020-d5ad86.09_site.png

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

Редактируем User-модель в Django с помощью класса AbstractUser

Python_Deep_14.08_SIte.png

При работе с Django часто приходят задачи по изменению стандартного поведения юзера. В большинстве случаев, это заканчивается расширением полей, которое все привыкли делать через 1-1 и отказываются реализовывать по-другому. Но начиная с версии 1.7, Django предоставляет новые механизмы по работе с этим. Их два – AbstractUser и AbstractBaseUser.

ООП в Python – это вам не Java

Python_Deep_6.08_Site.png

Никаких вам фабрик абстрактных классов, интерфейсов и вот этого всего. Есть, конечно, ABC и очумелые ручки, но это совсем другая история. Конечно, есть классы и наследование. Несмотря на это, в Python нет строгого разделения на public/private/protected.

Автоматизируем рутину: Bash vs Python

Python_Deep_LAST_23.07_site.png

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

Чтобы написать скрипты, которые помогут автоматизировать большую часть рутинной работы, можно использовать как Bash, так и Python. Что же выбрать?

Какой язык выбрать для собеседования?

Python_Deep_LAST_20.07_Site.png

Какую статью о прохождении технического собеседования не возьми, повсюду трубят:

«Выбирайте для интервью именно тот язык, который наиболее знаком для вас».

Согласитесь, подсознательно возникает желание подыграть интервьюерам. Особенно, когда в диалоге с рекрутером и в пригласительном письме совершенно точно указываются два «рекомендуемых» для прохождения интервью языка.

Популярное
Сегодня тут пусто