《Python参考手册(第4版•修订版)》——1.3 条件语句

  1. 云栖社区>
  2. 博客>
  3. 正文

《Python参考手册(第4版•修订版)》——1.3 条件语句

异步社区 2017-05-02 11:03:00 浏览1512
展开阅读全文

本节书摘来自异步社区《Python参考手册(第4版•修订版)》一书中的第1章,第1.3节,作者David M. Beazley,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 条件语句

if与else语句可执行简单的检验,如下所示:

if a < b: 
    print "Computer says Yes"
else:
    print "Computer says No"

if和else子句的主体是用缩进表示的。else子句是可选的。

要创建一条空子句,可以使用pass语句,如下所示:

if a < b:
    pass      # 什么也不执行
else:
    print "Computer says No"

使用or、and和not关键字可以组成布尔表达式:

if product == "game" and type == "pirate memory" \
                     and not (age < 4 or age > 8):
    print "I'll take it!"

注意

编写复杂的检验条件通常需要编写很长的代码行,看起来令人生厌。为了提高代码的可读性,可以像上面一样在一行的结尾使用反斜杠(),然后就可以在下一行继续书写上一条语句的内容。如果这样做,正常的缩进规则将不被应用于下一行,因此可以随意设置后续行的格式。

Python没有专门的switch或case语句用于检测多个值。要处理多个检验条件,可以使用elif语句,如下所示:

if suffix == ".htm":
    content = "text/html"
elif suffix == ".jpg":
    content = "image/jpeg"
elif suffix == ".png":
    content = "image/png"
else:
    raise RuntimeError("Unknown content type")

要表示真值,可以使用布尔值True和False,例如:

if 'spam' in s:
    has_spam = True
else:
    has_spam = False

所有关系运算符(如<和>)的结果都返回True或False。本例中使用的in运算符通常用于检查某个值是否包含在另一个对象(如字符串、列表或字典)中。它也返回True或False,因此前一个例子可以缩短为:

has_spam = 'spam' in s

网友评论

登录后评论
0/500
评论
异步社区
+ 关注