【www.bbyears.com--python】
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]()