模式匹配python版: 不同于java的swith-case 和 scala的match-case, Python里面没有这类关键字. 所以只能通过字典实现: 先定义一个字典以确定映射关系,再通过get('key')方法获取到字典里面对应的值, 值可以是之前定义过的函数或者其他数据类型),最后调用函数并传参,由函数的代码完成运算
============python代码开始============
#encoding:utf-8
# PYTHON中的类库称为模块,实际上每个模块就是个.py文件
from __future__ import print_function
# 和scala语法一样,可以在任意位置导入模块
from __future__ import division
def add(x,y,*tp,**dic):
return x+y
def sub(x,y, *tp, **dic):
return x-y
def mul(x,y, *tp, ** dic):
return x*y
def div(x, y, *tp, **dic):
return x/y # division模块保证:x/y不是整除,而是数学中的除法,即1/8等于0.125而不是0
# *tp表示把冗余的参数存放到元祖tp里面, **dic表示把多出来的字典类型参数放到字典型的dic里面
def power(x,y,*tp, **dic):
print("redundant a