はじめに

ふと、Pythonの

Everything is expanded.Everything is shortened.
  1
 
[n for n in range(10) if n * n > 10]

ってどう処理されてるんだろうなぁと気になりました。というわけで読みます。今回はpythonコマンド起動してシェルで上記のコードを打ったという前提で読んでいくことにします。

読解に利用したPythonのバージョンは3.5.1です。

1ページで書けるかなと思いましたが長くなったので例によって以下のステップに分けます。

  1. スクリプト解析まで
  2. スクリプト解析
  3. AST作成
  4. バイトコード生成
  5. バイトコード実行

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS