Python金融数据挖掘与分析实战
上QQ阅读APP看书,第一时间看更新

2.5.1 条件语句

Python条件语句是通过一条或多条语句的执行结果(true或false)来决定执行的代码块。可以通过图2-7来简单了解条件语句的执行过程。

图2-7 Python条件语句

Python程序语言指定任何非0和非空(null)值为true,0或者null为false。Python中if语句用于控制程序的执行,基本形式为:


if 判断语句:
    执行语句……
else:
    执行语句……

其中“判断语句”成立时(非零),则执行后面的语句,且执行内容可以多行,以缩进来区分表示同一范围。else为可选语句,在条件不成立时执行。具体实例如下:


flag = False 
name = 'luren' 
if name == 'python':            # 判断变量是否为 python 
    flag = True                 # 条件成立时设置标志为真 
    print ('welcome boss')      # 并输出欢迎信息 
else: 
    print (name)                # 条件不成立时输出变量名称

输出结果为:


luren                           # 输出结果

if语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。当判断条件为多个值时,可以使用以下形式:


if 判断条件1:
    执行语句1……
elif 判断条件2:
    执行语句2……
elif 判断条件3:
    执行语句3……
else:
    执行语句4……

实例如下:


num = 5
if num == 3:                    # 判断num的值 
    print ('boss') 
elif num == 2: 
    print ('user') 
elif num == 1: 
    print ('worker') 
elif num < 0:                        # 值小于零时输出 
    print ('error') 
else: 
    print ('roadman')           # 条件均不成立时输出

输出结果为:


roadman                         # 输出结果

由于Python并不支持switch语句,所以多个条件判断只能用elif来实现。如果需要同时判断多个条件,可以使用or(或)表示两个条件有一个成立时判断条件成功;也可以使用and(与)表示只有两个条件同时成立的情况下,判断条件才成功。举例如下:


num = 9 
if num >= 0 and num <= 10:        # 判断值是否在0~10之间 
    print ('hello') 
# 输出结果: hello 
num = 10 
if num < 0 or num > 10:           # 判断值是否在小于0或大于10 
    print ('hello')
else: 
    print ('undefine')            # 输出结果: undefine 
num = 8 
# 判断值是否在0~5或者10~15之间 
if (num >= 0 and num <= 5) or (num >= 10 and num <= 15): 
    print ('hello') 
else: 
    print ('undefine') 
# 输出结果: undefine

当if有多个条件时,可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外and和or的优先级低于>、<等判断符号,即>、<在没有括号的情况下会比and、or符号优先。

也可以在同一行使用if条件判断语句,实例如下:


var = 100 
if ( var == 100 ) : print "变量var的值为100" 
print ("Good bye!")

输出结果为:


变量var的值为100
Good bye!