fil*_*ton 1 python if-statement
我想知道两种不同功能之间的推荐方法或优化方法是什么.
第一个(我个人会选择):
def myFunction1(aParameter):
if aParameter == 0:
result = 42
elif aParameter == 1:
result = 0
else:
result = None
return result
Run Code Online (Sandbox Code Playgroud)
第二个:
def myFunction2(aParameter):
if aParameter == 0:
return 42
if aParameter == 1:
return 0
return None
Run Code Online (Sandbox Code Playgroud)
如果我没有弄错,两个函数的行为应该是相同的,那么你会推荐哪一个?
先感谢您!:)
编辑:
谢谢你的快速解答.我知道这个问题可能是基于意见的.我只是想知道是否有任何PEP建议关于这个或两种方式中的一种比另一种方式更常见.此外,关于性能,我想知道生成的字节码是否相同.
Foo*_*oon 12
如果它只是三条路径,那么两种方式都可能没问题.当您开始拥有更多路径(通过其他语言中的switch语句处理)时,通常接受的pythonic方式通常使用哈希.
def myFunction1(aParameter):
values = {0:42,1:0}
return values.get(aParameter,None)
Run Code Online (Sandbox Code Playgroud)