Python中if语句的最佳结构

Python中if语句的最佳结构,python,if-statement,Python,If Statement,我想知道在两个不同的函数之间进行优化的推荐方法或最佳方法是什么 第一个(我个人会选择): 第二条: def myFunction2(aParameter): if aParameter == 0: return 42 if aParameter == 1: return 0 return None 如果我没有弄错的话,两个函数的行为应该是相同的,那么您会推荐哪一个呢 先谢谢你!:) 编辑: 谢谢你的快速回答。我知道这个问题可能是基于意见的

我想知道在两个不同的函数之间进行优化的推荐方法或最佳方法是什么

第一个(我个人会选择):

第二条:

def myFunction2(aParameter):
    if aParameter == 0:
        return 42
    if aParameter == 1:
        return 0
    return None
如果我没有弄错的话,两个函数的行为应该是相同的,那么您会推荐哪一个呢

先谢谢你!:)

编辑:

谢谢你的快速回答。我知道这个问题可能是基于意见的。
我只是想知道是否有任何政治公众人物对这两种方式的建议,或者这两种方式中的一种比另一种更常见。此外,关于性能,我想知道生成的字节码是否相同。

如果只是三条路径,则两种方式都可以。当您开始拥有更多路径时(这将由其他语言中的switch语句处理),通常接受的python方法是使用散列

def myFunction1(aParameter):
    values = {0:42,1:0}
    return values.get(aParameter,None)

如果只是这三条路,两条路都可以。当您开始拥有更多路径时(这将由其他语言中的switch语句处理),通常接受的python方法是使用散列

def myFunction1(aParameter):
    values = {0:42,1:0}
    return values.get(aParameter,None)

我更喜欢第二个,因为它应该更快,更干净,更容易阅读和调试。

我更喜欢第二个,因为它应该更快,更干净,更容易阅读和调试。

我认为第一个在出现问题时更容易调试……这就是为什么我投票以“主要基于意见”的方式关闭它,因为这里显然没有“正确”的答案。这可能更适合于代码复查堆栈交换?你也可以考虑一个惯用的选项<代码> {0:42,1:0 }。GET(PARAM)< /C>。它们基本上做你想做的事情,而不需要函数。我认为第一种方法在出现问题时更容易调试……这就是为什么我投票以“主要基于意见”的方式关闭它,因为这里显然没有“正确”的答案。这可能更适合于代码复查堆栈交换?你也可以考虑一个惯用的选项<代码> {0:42,1:0 }。获取(PARAM)< /C>。因为它是默认值。而且,
None
是一个冗余参数,因为它是默认值。