ようこそ!

効率的なPythonコードの書き方

Logan Thomas

Scientific Software Technical Trainer, Enthought

コース概要

  • コードはインサイトを得るためのツールであるべきです
    • 結果を待ち続けるものであってはなりません
  • このコースで学ぶこと:
    • クリーンで高速・効率的なPythonコードの書き方
    • ボトルネックを特定するコードのプロファイリング
    • ボトルネックや非効率な設計パターンの解消
効率的なPythonコードの書き方

「効率的」の定義

  • 効率的なPythonコードの記述
    • 処理時間の最小化(高速な実行時間
    • リソース消費の最小化(少ないメモリ使用量

alt="ストップウォッチと下向き矢印、メモリスティックと下向き矢印の合計が「efficient」という言葉を示す式"

効率的な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コードの書き方

Tim PetersによるThe Zen of 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...