2017-05-17 146 views
0

我正在開發一個小程序,我想給我的年輕朋友介紹他們使用Python進行編程的最基本的基本知識。 其中,我想添加功能來輸出正在執行的代碼行(正在執行)到控制檯(或作爲Python中可以使用適當命令打印的變量)的代碼行。 我希望這樣做,以便通過了解實時進行的更高級別(編程語言執行)的底層進程,此程序的用戶可以更好地學習。 我認爲這將是可能的,特別是因爲Python是一種解釋器語言,所以代碼一直在播放,直到倒數第二步執行它。在Python中執行代碼時輸出代碼行

有什麼辦法可以做到這一點本質上?如果沒有,我認爲應該有一種方法來編寫一個程序,將另一個程序作爲輸入並執行,同時還可以訪問源代碼。通過一些高級解析,這種設計將能夠實現這一點,但我正在尋找一種更自然的方式來做到這一點。

+0

爲什麼不直接使用例如http://pythontutor.com/? – jonrsharpe

+0

這是在類似學校的環境中完成的,不幸的是,實時上網並不是一個保證。 (甚至沒有我)。 – Aalok

+0

那麼它是開源的,所以你可以在本地託管它,或者看它是如何做它的,但是如何重新實現這樣的東西對於SO來說太廣泛了。 – jonrsharpe

回答

1

這可能不是完美的教授使用,但肯定exec將工作? 如:

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

這就是我的問題的第二部分。這肯定會起作用,但對於'for'循環,嵌套操作等會變得複雜。 – Aalok

+0

不,沒有自然的方式去做,python太難以解析,沒有太多複雜的邏輯,只會浪費時間代碼可以在幾乎所有的現代系統上看到它的運行。 – pointerless