您的位置:首页 > 编程语言 > Python开发

python switch语句的多种实现方法

2016-12-09 11:04 537 查看
python switch语句的多种实现方法

说明:

 - python中没有switch关键字 

 - 定义 字典

 - 调用 字典的get(key)获取对应的表达式

1,实现switch的一般方式

 

复制代码代码示例:

from __future__ import division

def add(x, y) :

    return x + y

def subtract(x, y) :

    return x - y

def multiply(x, y) :

    return x * y

def divide(x, y) :

    return x / y

def calculate(x, y, symbol) :

    if   "+" == symbol :

        print add(x, y)

    elif "-" == symbol :

        print subtract(x, y)

    elif "*" == symbol :

        print multiply(x, y)

    elif "/" == symbol :

        print divide(x, y)

    else :

        pass

calculate(1, 2, "+")

calculate(1, 2, "-")

calculate(1, 2, "*")

calculate(1, 2, "/")

2,字典实现switch语句

   - value 为 函数

 

复制代码代码示例:

from __future__ import division

def add(x, y) :

    return x + y

def subtract(x, y) :

    return x - y

def multiply(x, y) :

    return x * y

def divide(x, y) :

    return x / y

calculateDict = {"+":add, "-":subtract, "*":multiply, "/":divide}

#print calculateDict["+"](1,2)

#print calculateDict.get("+")(1,2)

def calculate(x, y, symbol) :

     print calculateDict.get(symbol)(x, y)

calculate(1, 2, "+")

calculate(1, 2, "-")

calculate(1, 2, "*")

calculate(1, 2, "/")

3,常用形式

 

复制代码代码示例:

from __future__ import division

def calculate(x, y, symbol) :

    calculateDict = {

            "+" : x + y     ,

            "-"  : x - y      ,

            "*"  : x * y     ,

            "/"  : x / y     

            }

    print calculateDict.get(symbol)

calculate(1, 2, "+")    

calculate(1, 2, "-")    

calculate(1, 2, "*")    

calculate(1, 2, "/")
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: