zoukankan      html  css  js  c++  java
  • 读书笔记「Python编程:从入门到实践」_5.if语句

    5.1 一个简单示例

    cars = ['audi', 'bmw', 'subaru', 'toyota']
    for car in cars:
        if car == 'bmw':
            print(car.upper())
        else:
            print(car.title())
    View Code
    Audi
    BMW
    Subaru
    Toyota
    

    5.2 条件测试

      每条if 语句的核心都是一个值为True 或False 的表达式,这种表达式被称为条件测试 。

      5.2.1 检查是否相等

      相等运算符 两个等号(== )
      5.2.2 检查是否相等时不考虑大小写

      在Python中检查是否相等时区分大小写,例如,两个大小写不同的值会被视为不相等:

      如果大小写很重要,这种行为有其优点。但如果大小写无关紧要,而只想检查变量的值,可将变量的值转换为小写,再进行比较
      5.2.3 检查是否不相等

      要判断两个值是否不等,可结合使用惊叹号和等号(!= )
      5.2.4 比较数字

      检查数值非常简单,条件语句中可包含各种数学比较,如小于、小于等于、大于、大于等于

      5.2.5 检查多个条件

      1. 使用and 检查多个条件  2. 使用or 检查多个条件
      5.2.6 检查特定值是否包含在列表中

      要判断特定的值是否已包含在列表中,可使用关键字in 。

      5.2.7 检查特定值是否不包含在列表中
      
    确定特定的值未包含在列表中很重要;可使用关键字not in
      5.2.8 布尔表达式

      条件测试的别名。与条件表达式一样,布尔表达式的结果要么为True ,要么为False 。

    car="bmw"
    print(car=="Bmw")
    print(car!="Bmw")
    print(2>1)
    print(2==1)
    print(2<1)
    print(2<1 and 2>1)
    print(2<1 or 2>1)
    cars = ['audi', 'bmw', 'subaru', 'toyota']
    print(car in cars)
    print(car not in cars)
    View Code
    False
    True
    True
    False
    False
    False
    True
    True
    False
    

    5.3 if语句

      5.3.1 简单的if语句

      最简单的if 语句只有一个测试和一个操作:

    if conditional_test:
        do something
    

      如果条件测试的结果为True ,Python就会执行紧跟在if 语句后面的代码;否则Python将忽略这些代码。

      在if 语句中,缩进的作用与for 循环中相同。如果测试通过了,将执行if 语句后面所有缩进的代码行,否则将忽略它们。

      5.3.2 if-else语句

      经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else 语句。if-else 语句块类似于简单的if 语句,

      但其中的else 语句让你能够指定条件测试未通过时要执行的操作。

      5.3.3 if-elif-else结构

      经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else 结构。Python只执行if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过

    了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

      5.3.4 使用多个elif代码块

      可根据需要使用任意数量的elif 代码块
      5.3.5 省略else代码块

      Python并不要求if-elif 结构后面必须有else 代码块。在有些情况下,else 代码块很有用;而在其他一些情况下,使用一条elif 语句来处理特定的情形更清晰

      else 是一条包罗万象的语句,只要不满足任何if 或elif 中的条件测试,其中的代码就会执行,这可能会引入无效甚至恶意的数据
      5.3.6 测试多个条件

      if-elif-else 结构功能强大,但仅适合用于只有一个条件满足的情况:遇到通过了的测试后,Python就跳过余下的测试,让你能够测试一个特定的条件。

      然而,有时候必须检查你关心的所有条件。在这种情况下,应使用一系列不包含elif 和else 代码块的简单if 语句。

      在可能有多个条件为True ,且你需要在每个条件为True时都采取相应措施时,适合使用这种方法。

    requested_toppings = ['mushrooms', 'extra cheese']
    if 'mushrooms' in requested_toppings:
        print("Adding mushrooms.")
    if 'pepperoni' in requested_toppings:
        print("Adding pepperoni.")
    if 'extra cheese' in requested_toppings:
        print("Adding extra cheese.")
    print("
    Finished making your pizza!")
    
    age = 12
    if age < 4:
        price = 0
    elif age < 18:
        price = 5
    elif age < 65:
        price = 10
    elif age >= 65:
        price = 5
    print("
    Your pizza cost is $" + str(price) + ".")
    View Code
    Adding mushrooms.
    Adding extra cheese.
    
    Finished making your pizza!
    Your pizza cost is $5.
    

    5.4 使用if语句处理列表

      通过结合使用if 语句和列表,可完成一些有趣的任务:对列表中特定的值做特殊处理;

      5.4.1 检查特殊元素

      循环配合if语句进行检查
      5.4.2 确定列表不是空的

      if配合循环进行操作

    items = []
    if items:
        for item in items:
            print("hi")
        print("items has item")
    else:
        print("items do not has item")
    View Code
    items do not has item
    

      5.4.3 使用多个列表  

    items=list(range(1,10))
    for item in items:
        if item==1:
            print("1st")
        elif item==2:
            print("2nd")
        elif item==3:
            print("3rd")
        else:
            print(str(item)+"th")
    
    items2=[11,3,5,23]
    for item in items2:
        if item in items:
            print(str(item)+":true")
        else:
            print(str(item)+":false")
    1st
    2nd
    3rd
    4th
    5th
    6th
    7th
    8th
    9th
    11:false
    3:true
    5:true
    23:false
    

    5.5 设置if语句的格式

      在条件测试的格式设置方面,PEP 8提供的唯一建议是,在诸如== 、>= 和<= 等比较运算符两边各添加一个空格,例如,if age < 4: 要比if age<4: 好。

      这样的空格不会影响Python对代码的解读,而只是让代码阅读起来更容易

      ....上面例子的代码 格式不好,见谅...

  • 相关阅读:
    实现移动端1像素线--stylus
    用户信息认证session和token
    深入了解new的过程,和call,apply,bind的区别
    微信公众号开发过程--踏坑指南
    Better-scroll巨坑!!!
    JS ES6中Arguments和Parameters的区别
    知识点1
    面试--随笔1
    pytts3语音合成遇到的中文问题
    需求,需要谁参与进来?
  • 原文地址:https://www.cnblogs.com/changxinblog/p/9769231.html
Copyright © 2011-2022 走看看