2017-05-17 8 views
0

私は小さな友達に、Pythonを使ったプログラミングの最小限の基本について紹介したい小さなプログラムを開発しています。 ここでは、実行されているコード行をコンソールに出力する機能を追加したいと思います(または適切なコマンドを使用して印刷できるPython内の変数として)。 これは、このプログラムのユーザーが、より高いレベル(プログラミング言語の実行)でリアルタイムで行われている基本的なプロセスを理解することによって、よりよく学習できるようにしたいと考えています。 私はこれが特に可能だと思ったのは、Pythonはインタプリタ言語なので、コードはそれを実行する最後から2番目のステップまで再生されているからです。Pythonで実行中のコード行

本質的にこれを行う方法はありますか?そうでなければ、別のプログラムを入力として実行し、ソースコードにアクセスするプログラムを作成する方法があるはずです。高度な構文解析を行うことで、このような設計が可能になりますが、私はこれを行うより自然な方法を探しています。

+0

http://pythontutor.com/? – jonrsharpe

+0

これは学校のような環境で行われる予定であり、リアルタイムインターネットアクセスは保証されていません。 (私にとってさえも)。 – Aalok

+0

それはオープンソースなので、ローカルでホストするか、それが何をするのか見ることができますが、それはあまりにも広すぎるようなものです。 – jonrsharpe

答えて

1

これは教えるのには完璧ではないかもしれませんが、確かにexecは機能しますか? 次のとおりです。

mycommand = "a = 5**3" 
print(mycommand) 
exec(mycommand) 
print("a = "+str(a)) 
+0

これは私の質問の2番目の部分が意味するものです。これは間違いなく動作しますが、 'for'ループ、ネストされた操作などのために複雑になるでしょう。 – Aalok

+0

これは自然なやり方ではありません。複雑なロジックがなくても解析が難しいので、現代のほとんどすべてのシステムで実行されているように見ることができます。 – pointerless

関連する問題