Python の学習に”Python Tutor”を使ってみた(後編)

前編では 変数の代入を例にPython Tutorの使い方を紹介しました。

後編ではdictionaryとクラスでどのように動作するのか試してみます。

dictionary

はじめに実行結果から見てみましょう。

“Frames”とは別に“Objects”の下に dict が表示されています。

“Frames”の shoppingと矢印で結ばれています。

この矢印は shopping 変数に dict がセットされていることを表しています。

では、1行ずつ実行してみましょう。

shoppingdict がセットされます。

dictnum が追加されます。

合計金額を求めて、 “Print Output”に結果が表示されます。

クラス

“Objects” に items classitems instance が新しく追加されました。

“Frames”の itemsitems classshoppingitems instance が矢印で結ばれ、セットされているのが確認できます。

では、1行ずつ実行してみましょう。

画像が多いので重要な箇所のみチェックします。

1行目を実行すると items class が作成されました。

クラス内は実行されず、10行目まで赤い矢印が移動しました。

次は10行目が実行されるようですね。

10行目を実行すると、 items class を呼び出す準備がされます。

赤い矢印が2行目に移動するので、次から items class のinstanceが作成されるようですね。

“Frames” に新しく __init__ が追加され、 items instance に矢印が結ばれています。

2行目から4行目が実行され、赤い矢印が11行目に移動しました。

items instance が作成されて、 Return value には None がセットされています。

これでinstanceが実行されたのが確認できます。

続いて total_price メソッドが実行されます。

赤い矢印が11行目に移動しました。

6~8行目の total_price メソッドが実行されているのが確認できます。

“Frames”に total_price が追加されました。

引数に渡した数が total_pricenum にセットされています。

total_priceメソッドが実行され total に値がセットされています。

最後まで実行します。

“Print Output”に結果が表示されます。

dictionaryとクラスも1行ずつ実行し、動作を確認することが出来ました。

単純なdictionaryやクラスのみでしたが、多次元配列やクラスの継承なども試してみるともっと理解が深まりそうですね。

プログラムの実行が視覚的に捉えられるので、ただプログラムを書いて実行するのとはまた違った視点を持つことが出来るのではないでしょうか。