python条件if

        计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。

        python条件语句是通过一条或多条语句的执行结果(true或者false)来决定执行的代码块。

        可以同坐下图来接单了解条件语句的执行过程:

iamges

        python程序语言指定任何非0或非空(null)值为true,0或者null为false。

        python编程中if语句用于控制程序的执行,基本形式为

1
2
3
4
if expression(判断条件):
statement(s)(执行语句……)
else:
statement(s)(执行语句……)

        其中“判断条件”成立时(非0),则执行后面的语句,而执行内容可以多行,以缩进来区分表示统一范围。

        例:输入用户年龄,根据年龄打印不同的内容,在python中,用if语句实现

1
2
3
4
age = 20
if age >= 18:
print 'your age is', age
print 'hello world'

        根据python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。

        else为可选语句,放需要在条件不成立时,执行内容则可以执行相关语句。

        给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了

1
2
3
4
5
6
7
age = 3
if age >= 18:
print 'your age is', age
print 'hello world'
else:
print 'your age is', age
print 'hello python'

        注意:不要少写了冒号:

        if 语句的判断条件可以用 >(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

        当然上边的判断比较粗糙,完全可以用elif做更细致的判断。

        例:

1
2
3
4
5
6
7
age = 3
if age >= 18:
print 'hello world'
elif age >= 6:
print 'hello python'
else:
print 'hello'

        elifelse if的缩写,完全可以有多个elif,所以if语句的完整形式就是

1
2
3
4
5
6
7
8
if expression1(判断条件1):
statement1(s)(执行语句1……)
elif expression2(判断条件2):
statement2(s)(执行语句2……)
elif expression3(判断条件3):
statement3(s)(执行语句3……)
else:
statement(s)(执行语句……)

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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有多个条件是可以使用括号来区分判断的先后顺序,括号中的判断有限执行,此外andor的优先级低于 >(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与要有限判断。

        if语句执行有个特点,他是从上往下判断,如果在某个判断上是Ture,把该判断对应的语句执行后,就忽略掉剩下的elifelse,所以,下面程序打印的是hello world

1
2
3
4
5
6
7
age = 20
if age >= 6:
print 'hello world'
elif age >= 18:
print 'hello python'
else:
print 'hello'

        if判断条件还可以简写

1
2
if x:
print 'Ture'

        只要x是非零数值、非空支付窜、非空列表等,就判断为Ture,否则为False