在Python中执行时输出代码行

在Python中执行时输出代码行,python,programming-languages,interpreted-language,Python,Programming Languages,Interpreted Language,我正在开发一个小程序,我想给我的年轻朋友们介绍一下使用Python编程的基本知识。 在其中,我想添加一些功能,以便在执行时将正在执行的代码行输出到控制台(或者作为Python中的一个变量,可以使用适当的命令打印)。 我希望这样做,以便该程序的用户可以通过理解在更高级别(编程语言执行)实时进行的底层过程来更好地学习。 我认为这是可能的,特别是因为Python是一种解释器语言,所以代码在执行它的倒数第二步之前一直在发挥作用 有没有办法做到这一点?如果不是的话,我认为应该有一种方法来编写一个能够​ 将

我正在开发一个小程序,我想给我的年轻朋友们介绍一下使用Python编程的基本知识。 在其中,我想添加一些功能,以便在执行时将正在执行的代码行输出到控制台(或者作为Python中的一个变量,可以使用适当的命令打印)。 我希望这样做,以便该程序的用户可以通过理解在更高级别(编程语言执行)实时进行的底层过程来更好地学习。 我认为这是可能的,特别是因为Python是一种解释器语言,所以代码在执行它的倒数第二步之前一直在发挥作用


有没有办法做到这一点?如果不是的话,我认为应该有一种方法来编写一个能够​ 将另一个程序作为输入并执行,同时也可以访问源代码。通过一些高级解析,这种设计将能够实现这一点,但我正在寻找一种更自然的方法来实现这一点。

这可能不适合使用exec进行教学,但肯定会奏效吗? 例如:


为什么不直接使用,例如?这是在类似学校的环境中进行的,不幸的是,实时互联网接入并不能保证。(甚至对我来说都不是)。它是开源的,所以你可以在本地托管它,或者看看它是如何工作的,但是如何重新实现类似的东西对于so来说是一个太宽泛的问题。嗯。。谢谢你的评论。我去看看。几乎可以完成所有这些——逐步遍历代码,打印下一行代码,显示执行代码的结果,等等——一个很棒的分析工具。这就是我问题的第二部分的意思。这肯定会起作用,但对于循环、嵌套操作等,
会变得复杂。不,这不是一种自然的方法,如果没有大量复杂的逻辑,python将很难解析,这将浪费时间,因为几乎所有现代系统都可以在运行时查看代码。
mycommand = "a = 5**3"
print(mycommand)
exec(mycommand)
print("a = "+str(a))