类型:Python,创建时间:Dec. 30, 2011, 6:59 p.m.
标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/8/。
长期以来Python世界的人一直在争论是否应该拥有条件运算符。它可以用来处理根据条件返回不同的值。比如:
if contition: x=true_value else: x=false_value
他们虽然讨论了很久,但是一直没什么结果。在python-dev邮件列表和comp.lang.python新闻主上甚至为此举行了一次投票。最后的结果是大家都同意应该添加条件运算符,可是它的语法形式是什么还是没有结果。主要的争论是C语言的cond ? true_v : false_v
和if cond then true_v else false_v
到底挑哪个好。
最终,Guido van Rossum(Python语言的作者)挑了这样一个令人意想不到的语法形式:
true_value if condition else false_value
它的意义是:如果condition
为真,计算并返回true_value
,并跳过false_value
的计算,否则计算并返回false_value
。它完全等价于完整形式。
这个表达式的优先级是最低的,但是它优于=
号。因此以下这两种形式是一样的
level = 1 if logging else 0 level = (1 if logging else 0)
不过笔者认为后一种形式看起来比较好一点,而且可以免去记忆运算符优先级的麻烦。
标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/8/。
暂时还没有任何评论。