【发布时间】:2021-10-11 20:13:49
【问题描述】:
假设我用 Python 编写了一个函数,但我希望能够选择注释掉(即使不可编译)其代码行的任何数量/组合作为函数的一部分。有没有一种有效的方法来做到这一点?所以希望比为每一行代码编写某种“if/else”更有效,因为我必须这样做 200 次。因此 Function(vars,[1,4,5,66,86]) 的输入意味着第 1,4,5,66 和 86 行无法编译。
【问题讨论】:
-
我猜你说的是元编程?
-
我猜是这样,但我对此一无所知:-)
-
您似乎想即时修改解释代码。也许模块
ast可以帮助你。但对于 Python 新手来说,这是一个雄心勃勃的项目。 -
为什么您期望注释掉任意行集的结果是可编译的代码,可以做任何有意义的事情?如果你碰巧注释掉了,例如,
def声明引入了一个函数,但没有注释掉任何函数体?另外,您希望通过这样做解决什么问题? -
如果你的函数有 86 行,那么你可能在一个函数中放了太多代码。也许您应该将其拆分为较小的功能,然后使用
if/else仅运行其中一些功能。