这两种风格哪种更明确(pythonic)?

时间:2014-07-30 07:28:18

标签: python styles

这是我写的代码片段:

if player_a in reward_dict:
    reward_dict[player] += money
elif player_a not in reward_dict:
    reward_dict[player] = money

我是这样写的,因为我认为这很容易阅读,你不需要做任何逻辑结论来直截了当。

但是我的同事看到了我的代码,他说:“那不明确,因为玩家_a只有两种可能性,不管是不是。”

所以,根据他的观点,这段代码应该是这样写的:

if player_a in reward_dict:
    reward_dict[player] += money
else:
    reward_dict[player] = money

我觉得很难判断这两种风格,所以我问了这个问题,希望更多人的意见能说清楚。

您对这两种风格有何看法?

2 个答案:

答案 0 :(得分:5)

if player_a in reward_dict:
    reward_dict[player] += money
else:
    reward_dict[player] = money

在我看来,这是合适的。我们通常会去elif' elif'如果我们有两个以上的条件要检查。否则是最好的方式,尽管两者都是正确的。

答案 1 :(得分:1)

我认为你的解决方案更明确地涉及明确这个词的确切含义,但你的同事的观点是对的,因为实际上只有两种可能性:'in'或'not in'。因此,在我看来,第二块将更优雅(可读,全面)。 当有两种以上的可能性时,应使用第一个块。只是我的两分钱。

相关问题