如何在Python中实现类似#define的功能以隔离不同的代码段

时间:2018-09-06 10:39:54

标签: python python-3.x

我正在努力将用C ++开发代码时遵循的一些过程转移到Python。

其中之一是使用预处理指令#define。 (我知道这不是一个好的编程习惯,但是当我不得不隔离某些代码段进行测试时,我发现它在开发过程中非常有用。

例如,一个特定功能的代码可以分布在给定文件中。因此,我会将所有这些代码段括在同一个#define指令中,例如

#ifdef FEATURE1 ..<code snippet 1>
#ifdef FEATURE1... <code snipper 2> and so on.

现在,如果我添加

#define FEATURE1

在文件开头,然后测试功能1。

然后,当我对功能2进行测试时,我也可以取消功能1的测试。

通过这种方式,我可以隔离由于功能1中的代码而不是由于功能2中的代码出现的错误。

我在Python中找不到类似的并行功能。单独注释掉不同的代码段可能会导致错误,因为有时我们会在测试功能部件时错过包括某些功能的代码段。

通过在注释的每个代码段中标记它们属于功能1或功能2来生存,但是最后,我必须在交付代码之前移动所有这些注释。

在Python中找到一个构造方法来实现相同的目标将是很好的选择。

谢谢您的投入

1 个答案:

答案 0 :(得分:2)

我只使用简单的if语句:

Feature1 = False
Feature2 = True

if Feature1:
    pass # add some code here

if Feature2:
    pass # add some other code here