美文网首页
Python学习日记-判断语句

Python学习日记-判断语句

作者: 黄烨1121 | 来源:发表于2018-01-31 12:08 被阅读0次

    本章目录

    • Part One:初识if语法
    • Part Two:进阶if语法
    • Part Three:完整if语法
    • Part Four:if语法注意事项

    初识if语法

    if的英文释义是“如果,假设”的意思,在Python中也用其作为条件判断,可以使得一部分代码只在满足某个条件时才会被执行。
    简单的if语句的语法格式是:

    if 条件:
        # 满足条件执行的代码块
    

    例如

    age = 18
    if age >= 18:
        print("Hey, boy!")
        print("You are a man now!")
    

    结果为:

    Hey, boy!
    You are a man now!
    

    在这里,如果age >= 18为False,那么程序将不会执行两条 print 语句。
    虽然都是用 if 关键词定义判断,但与Java语言不同,Python不使用 {} 将 if 语句控制的区域包含起来。Python使用的是缩进方法。同时,也不需要用 () 将判断条件括起来。
    缩进在Python中具有非常重要的地位,同样的缩进代表一组代码块,不同的缩进就是不同的代码块,例如:

    age = 18
    if age >= 18:
        print("Hey, boy!")
            print("You are a man now!")
    

    就会报缩进错误:

    IndentationError: unexpected indent
    

    同样的,如下缩进,代码的执行逻辑就变了:

    age = 16
    if age >= 18:
        print("Hey, boy!")
    print("You are a man now!")
    

    其中第一条语句是条件判断的代码块,第二条语句不包含在条件判断中,所以结果为:

    You are a man now!
    

    进阶if语法

    如果希望在不满足条件时,也有一部分代码会被执行,则可以匹配上else语句。
    else的英文释义是“除此以外”,是对if的条件判断的结果直接取反,综合的语法结构是:

    if 条件:
        # 满足条件执行的代码块
    else:
        # 不满足条件执行的代码块
    

    if语句中可以没有else,但是,else必须匹配上if才可以使用。
    与if的语法一样,else也是使用缩进组织代码块,例如:

    age = 16
    if age >= 18:
        print("Hey, boy!")
        print("You are a man now!")
    else:
        print("Hey, boy!")
        print("This is gonna be your league in a little while, but I appreciate you giving us this year.")
    

    结果为:

    Hey, boy!
    This is gonna be your league in a little while, but I appreciate you giving us this year.
    

    完整if语法

    如果类似的条件是需要多次判断,并且每个判断中都会执行不同的代码,则可以使用多重if的语法,其语法:

    if 条件1:
        # 代码块1
    elif 条件2:
        # 代码块2
    elif 条件3:
        # 代码块3
    else:
        # 代码块4
    

    例如:

    age = 16
    if age <= 6:
        print("Hey, LeBron!")
        print("You will become a basketball superstar in the future!")
    elif 6 < age <= 18:
        print("Hey, LeBron!")
        print("You are strong enough, go to NBA!")
    elif 18 < age <= 25:
        print("Hey, LeBron!")
        print("This is gonna be your league in a little while, but I appreciate you giving us this year.")
    else:
        print("Hey, LeBron!")
        print("Give me a chance, I just wanna win once...")
    

    结果为:

    Hey, LeBron!
    You are strong enough, go to NBA!
    

    if语句也可以嵌套使用,但是要注意使用好缩进即可。

    if语法注意事项

    • 判断条件值的测试
      Python不仅仅可以使用布尔型变量作为条件,它可以直接在if中使用任何表达式作为条件.
      大部分表达式的值都会被当作True,但以下表达式值会被当作False:False,None,0,空字符串,空列表,空字典,空集合。
      我们可以用代码一一来验证:

    验证True和False

    var1 = False
    var2 = True
    if var1:
        print("False")
    else:
        print("True")
    if var2:
        print("True")
    

    结果为:

    True
    True
    

    验证None

    var1 = None
    var2 = "TAG"
    if var1:
        print("None")
    else:
        print("Not None")
    if var2:
        print("Not None")
    

    结果为:

    Not None
    Not None
    

    验证0

    var1 = 0
    var2 = 1
    if var1:
        print("0")
    else:
        print("Not 0")
    if var2:
        print("Not 0")
    

    结果为:

    Not 0
    Not 0
    

    验证空字符串

    var1 = ""
    var2 = " "
    if var1:
        print("Empty String")
    else:
        print("Not Empty String")
    if var2:
        print("Not Empty String")
    

    注意空格也是一个字符串,所以结果为:

    Not Empty String
    Not Empty String
    

    验证空列表

    var1 = ["Java", "Android", "Python"]
    var2 = []
    if var1:
        print("The first element is:{}.".format(var1[0]))
    else:
        print("The list is empty.")
    if var2:
        print("The first element is:{}.".format(var1[0]))
    else:
        print("The list is empty.")
    

    结果为:

    The first element is:Java.
    The list is empty.
    

    同理,也适用于字典,集合等,不过这种写法不推荐,最好还是是用len语法来验证是否为空。
    总结一下,只要条件是非零数值、非空字符串、非空list等,就判断为True,否则为False。

    • input注意事项
      input和print是经常配套使用的一组代码,print是输出到控制台,而input是从控制台读取用户输入。
      需要注意的是,从控制台读取的是一个字符串,如果要和其它类型的数据进行比较,需要做相应的转换,否则会报错,例如:
    # 将String类型的input转为int类型,然后再去比较
    age = int(input())
    if age <= 6:
        print("Hey, LeBron!")
        print("You will become a basketball superstar in the future!")
    elif 6 < age <= 18:
        print("Hey, LeBron!")
        print("You are strong enough, go to NBA!")
    elif 18 < age <= 25:
        print("Hey, LeBron!")
        print("This is gonna be your league in a little while, but I appreciate you giving us this year.")
    else:
        print("Hey, LeBron!")
        print("Give me a chance, I just wanna win once...")
    

    结果为:

    7
    Hey, LeBron!
    You are strong enough, go to NBA!
    

    相关文章

      网友评论

          本文标题:Python学习日记-判断语句

          本文链接:https://www.haomeiwen.com/subject/ztqkzxtx.html