【python条件语句if】python条件语句学习笔记

更新时间:2020-04-06    来源:python    手机版     字体:

【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]()

本文来源:http://www.bbyears.com/jiaocheng/92215.html