Добро пожаловать!

Эффективный код на Python

Logan Thomas

Scientific Software Technical Trainer, Enthought

Обзор курса

  • Код должен быть инструментом для получения insights
    • А не источником долгого ожидания
  • В этом курсе вы научитесь:
    • Писать чистый, быстрый и эффективный код на Python
    • Находить узкие места с помощью профилирования
    • Устранять узкие места и неудачные паттерны проектирования
Эффективный код на Python

Что значит «эффективный»

  • Написание эффективного кода на Python
    • Минимальное время выполнения (высокая скорость)
    • Минимальное потребление ресурсов (малый объём памяти)

alt="Уравнение: секундомер со стрелкой вниз плюс флеш-накопитель со стрелкой вниз равно слово 'эффективный'"

Эффективный код на Python

Что значит «Pythonic»

  • Написание эффективного кода на Python
    • Акцент на читаемость
    • Использование возможностей Python по назначению (т. е. Pythonic-подход)

# Non-Pythonic
doubled_numbers = []

for i in range(len(numbers)):
    doubled_numbers.append(numbers[i] * 2)

# Pythonic doubled_numbers = [x * 2 for x in numbers]
Эффективный код на Python

Дзен Python, Тим Питерс

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
...
Эффективный код на Python

Что нужно знать заранее

Эффективный код на Python

Приступим!

Эффективный код на Python

Preparing Video For Download...