在Python中,`if False`何时会执行?
在浏览一些代码时,我看到这一行:
if False: #shedskin
我知道 Shedskin 是一种把 Python 代码转换成 C++ 代码的工具,但我不太明白这一行的意思。
难道 if False:
不应该永远不会执行吗?这到底是怎么回事呢?
为了提供一些背景信息:
这是整个代码块:
if False: # shedskin
AStar(SQ_MapHandler([1], 1, 1)).findPath(SQ_Location(1,1), SQ_Location(1,1))
更多背景信息可以在 Google Code 上找到(请向下滚动到最底部)。
5 个回答
3
理论上,它可能会被执行:
True, False = False, True
if False: print 'foo'
但通常情况下,这个做法是用来暂时关闭某段代码的执行。
7
这段代码永远不会被执行。这是一种暂时关闭代码某部分的方法。
7
这段代码不会执行,因为它本来就不应该执行。if False:
这一行的存在就是为了故意阻止下一行代码的执行,因为那段代码的唯一目的是帮助 Shed Skin 推断传给 AStar()
函数的参数类型。
你可以在 这个链接中看到另一个例子,来自 httplib
:
# Useless stuff to help type info
if False :
conn._set_tunnel("example.com")