Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块
Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。
基本形势:
if 判断条件1:
执行语句
elif 判断条件2:
执行语句
else:
执行语句
实例:
n =100
if n<100:
print('n<100')
elif n>100:
print('n>100')
else:
print('n=100')
运行结果为:n=100
另外python不支持switch语句,进行多项条件判断时可以用and和or进行条件合并,上面实例如果想判断a是否等于100可以简化为:
if n<100 and n>100......
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 例1:if 基本用法
flag = False
name = 'luren'
if name == 'python': # 判断变量否为'python'
flag = True # 条件成立时设置标志为真
print 'welcome boss' # 并输出欢迎信息
else:
print name # 条件不成立时输出变量名称
输出结果为:
>>> luren # 输出结果
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值是,可以使用以下形式:
Python不像C/C++,Java等有switch-case的语法。不过其这个功能,比如用Dictionary以及lambda匿名函数特性来替代实现。
比如PHP中的如下代码:
switch ($value) {
case 'a':
$result = $x * 5;
break;
case 'b':
$result = $x + 7;
break;
case 'c':
$result = $x - 2;
break;
}
Python的等价实现为:
result = {
'a': lambda x: x * 5,
'b': lambda x: x + 7,
'c': lambda x: x - 2
}[value](x)
如果是稍微复杂一点的函数,也可以做到,比如我们计算加减乘除,函数定义如下:
def add(a,b):
return a + b
def multi(a,b):
return a* b
def sub(a,b):
return a - b
def div(a,b):
return a/ b#b is non-zero
如果是switch实现的话,case(‘操作数’)来判断之行的对应函数。看看Python的实现:
def calc(type,x,y):
calculation = {'+':lambda:add(x,y),
'*':lambda:multi(x,y),
'-':lambda:sub(x,y),
'/':lambda:div(x,y)}
return calculation[type]()
#calc = {1:lambda:add(x,y)}[value]()
result1 = calc('+',3,6)
result2 = calc('-',3,6)
print result1, result2
这里用的结构如下:
message = { 'type1': lambda: func1(some_data),
'type2': lambda: func2(other_data),
}
return message[type]()