1

我写了一些python代码,例如:

if platform == 'ios':
    do_something()
elif platform == 'android':
    do_something_else()

而这段代码遭到了我的一位同事的强烈批评。他指责我为什么我没有 else 块来处理其余部分。

在我看来,我需要做的就是处理这两种情况,因为我没有写 else 块。我的意思是在其他情况下,程序只会让它通过这个检查并继续运行。

任何 if elif 块是否需要 else 块(遵守一些 PEP 规则)?

如果在道德上是强制性的,我应该将我的代码编写为:

if platform == 'ios':
    do_something()
if platform == 'android':
    do_something_else()

但我仍然觉得我的第一个街区还不错。我错了吗?

4

2 回答 2

2

else从语法的角度来看,这不是必需的,也不是由PEP8. 如果您打算不做任何事情,如果platform不是iosandroid那么这是完全可以的。

或者,您可以有一个映射“平台>功能”,类似于以下内容:

mapping = {'ios': do_something, 'android': do_something_else}
f = mapping.get(platform)
if f:
    f()
于 2015-01-13T07:29:01.917 回答
1

这取决于您的代码,但在这种情况下,任何一种方式都可以。有一个合乎逻辑的原因是您的代码需要这样,这很好。你不必一直遵守规则,你必须能够一直尝试不同的东西。

于 2015-01-13T07:48:41.323 回答