Архив автора: admin

Щи из квашенной капустой Термомикс.

Ингредиенты:

  • 1 зубчик чеснока
  • пучок зелени
  • 150 г лука
  • 1 ст. л. муки
  • 30 г растительного масла
  • 2 ст. л. томатной пасты
  • 350 г квашеной капусты
  • 150 г грибов
  • 1, 3 литра кипятка
  • соль
  • перец
  • 2 лавровых листа Читать

Видеоуроки курса Python 2015

Курс ориентирован на людей, уже знакомых с каким-либо языком программирования, например, Java или C++.

Лектор: Сергей Лебедев.

Домашние задания

Рекомендации к оцениванию домашних заданий. Оценивать по двум критериям: корректность и идиоматичность, то есть решение должно правильно работать и соответствовать руководству по стилю.

Хорошие книги про Python

  1. David M. Beazley, Python Essential Reference, 2009.
  2. Mark Lutz, Learning Python, 5th edition, 2013 (значительная часть 4-го издания также будет релевантной).
  3. David M. Beazley, Brian K. Jones, Python Cookbook, 3rd edition, 2013.

Лекция 1. Начало.

Кто, когда и зачем придумал язык Python. Интерпретаторы языка. Синтаксис языка с высоты птичьего полёта. Интерактивная оболочка IPython.

Дополнительные материалы

Лекция 2. Всё, что вы хотели знать о функциях в Python.

Синтаксис объявления функций. Упаковка и распаковка аргументов. Ключевые аргументы и аргументы по умолчанию. Распаковка и оператор присваивания. Области видимости, правило LEGB, операторы global и nonlocal. Функциональное программирование, анонимные функции. Функции map, filter и zip. Генераторы списков, множеств и словарей. Немного о PEP 8.

Дополнительные материалы

Лекция 3. Декораторы и модуль functools.

Синтаксис декораторов. Декораторы с аргументами, без аргументов. Примеры использования декораторов. Модуль functools.

Дополнительные материалы

Лекция 4. Строки, байты, файлы и ввод/вывод.

Строковые литералы и сырые строки. Строки и Юникод. Основные методы работы со строками. Модуль string. Байты. Кодировки. Файлы и файловые объекты. Методы работы с файлами. Модуль io.

Дополнительные материалы

Лекция 5. Встроенные коллекции и модуль collections.

И снова встроенные коллекции: кортеж, список, множество, словарь — обход в глубину, обзор методов, примеры. Почти всё про модуль collections: именованные кортежи, счётчики, defaultdict, OrderedDict.

Дополнительные материалы

Лекция 6. Классы 1.

Синтаксис объявления классов. Атрибуты, связанные и несвязанные методы, __dict__, __slots__< /code>. Статические методы и методы класса. Свойства, декоратор @property. Наследование, перегрузка методов и функция super. Декораторы классов. Магические методы.

Дополнительные материалы

Лекция 7. Исключения и менеджеры контекста.

Исключения, зачем они нужны и как их обрабатывать. Встроенные исключения и базовые классы BaseException и Exception. Операторы try...except..else..finally. Менеджеры контекста и модуль contextlib.

Дополнительные материалы

Лекция 8. Итераторы, генераторы и модуль itertools.

Два протокола итераторов: __next__ + __iter__ и __getitem__. Итераторы и цикл for, а также операторы in и not in. Генераторы, оператор-выражение yield. Генераторы как: итераторы, сопрограммы, менеджеры контекста. Модуль itertools.

Дополнительные материалы

Лекция 9. Модули, пакеты и система импорта.

Модули. Операторы import и from ... import. Пакеты. Относительный и абсолютный импорт. __init__-фасад. И снова оператор import - обход в глубину.

Дополнительные материалы

Лекция 10. Классы 2.

Дескрипторы: что-как-зачем. Конструктор __new__, класс type и метаклассы. Наследование встроенных типов. Модули abc и collections.abc.

Дополнительные материалы

Лекция 11. Тестирование.

Зачем тестировать? Тестирование в интерпретаторе и доктесты. Модуль unittest. Пакет py.test - на порядок лучше. Тестирование свойств и пакет hypothesis.

Дополнительные материалы

Лекция 12. Быстрее, Python, ещё быстрее.

Измерение времени работы кода на Python с помощью модулей timeit, cProfile и line_profiler. Немного о NumPy. JIT и AOT компиляция кода на Python на примере Numba и Cython.

Дополнительные матер

Добавить swap раздел в linux

Настраивал очередной новый VDS сервер. Обнаружил, что после установки из стандартного шаблона хостинга, сервер без swap файла. Мониторинг zabbix после установки ругается на отсутствие свопа. Не стал отключать триггер, решил быстро добавить своп, в принципе, он может пригодиться.

Читать