是否可以在条件表达式中使用断言或加注?

时间:2018-11-28 15:34:29

标签: python

我想使用如下条件表达式:

young_animal = 'puppy' if animal == 'dog' else ('kitten' if animal == 'cat' else (assert False))

也就是说,我只希望animaldogcat,但是我想在我的代码中声明它。

这是无效的python,因为assert是语句,而不是表达式。同样,raise也是一个语句。最好的方法是什么?我当然可以做以下事情:

assert animal in ['dog', 'cat']
young_animal = 'puppy' if animal == 'dog' else 'kitten'

但这似乎既没有习惯用法,也没有那么安全(例如,行可能在重构中分开)。

0 个答案:

没有答案