Python - if如果使用了什么:?

时间:2012-03-28 06:40:37

标签: python

我刚刚在一个现有项目中遇到以下代码,我正在研究:

if True:
    x = 5
    y = 6
    return x+y
else:
    return 'Something

if if中有很多条件,有些也会返回函数。 为什么有人会这样写?代码还包含一些其他错误,但只是想知道if True:语句,因为它对我没有任何意义。可能也很愚蠢地问它,但是想知道嘿嘿。

5 个答案:

答案 0 :(得分:8)

它可能是调试或重构的残余。可能是True而不是True,有一个条件或变量,但它现在已被{{1}}取代。开发人员可能会将其留在那里,而不会一直重构或清理它。

如果您可以根据需要自由编辑代码,并且确定不再需要其他代码,则可以将其删除。在您的代码库中拥有永远不会运行的代码确实没有任何意义。

答案 1 :(得分:5)

True并不一定意味着True

True = False
if not True :
    print "True is false" # This prints ok

老实说,我认为没有人会像这样编码。

答案 2 :(得分:1)

对我来说没有任何意义,我的猜测是有人希望有两个不同的代码路径,他可以在使用#if 1 .. #else - >之间切换。 #if 0 ...用于调试或此类目的。

其他可能性是,正如@SimeonVisser建议的那样,原始开发人员正在重构或清理代码(并且没有一个模拟器允许人们轻松地从代码块中删除1步缩进)

答案 3 :(得分:0)

它可能是用于调试的标志。

答案 4 :(得分:0)

它只是用于确保永远不会执行else:块 我已经使用if True:作为一些块来确保我的代码真正做到我想要的。用于调试或重构。
总而言之,在应用程序中使用它并没有任何意义,但是为了测试或调试它在某种程度上是可以接受的。