Sitemap
VELTRA Engineering

Posts from the VELTRA Engineering team. www.veltra.com

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

4 min readDec 25, 2018

--

Press enter or click to view image in full size

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

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

dictionary

Press enter or click to view image in full size

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

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

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

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

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

shopping に dict がセットされます。

Press enter or click to view image in full size

dict に num が追加されます。

Press enter or click to view image in full size

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

Press enter or click to view image in full size
Press enter or click to view image in full size

クラス

Press enter or click to view image in full size

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

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

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

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

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

Get shimo’s stories in your inbox

Join Medium for free to get updates from this writer.

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

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

Press enter or click to view image in full size

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

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

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

Press enter or click to view image in full size

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

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

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

Press enter or click to view image in full size

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

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

Press enter or click to view image in full size

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

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

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

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

Press enter or click to view image in full size

最後まで実行します。

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

Press enter or click to view image in full size

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

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

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

--

--