写在开始

之前找的这个东西,因为C/C++和Java之类的都有switch,scala和其他的FP语言都有模式匹配,但是Python用了这么久都没记得哪里有说过多分支结构,所以这次找了一下这个.

实现方式

其实要我说的话这个就是Python的动态类型和高阶函数做到的,一个人说用dict,然后key是分支的那个条件,然后value对应的是他需要执行的那个函数,这样就行了.

简单实现一下吧:

def m_1(x):
    return x+1
def m_2(x):
    return x+2
def x_3(x):
    return x+3
a = {1:m_1,2:m_2,3:m_3}

select = 1
data = 1
print(a[select](data))

大概就是这个意思吧,还是很简单的.

写在最后

这个还是挺简单的一种实现多分支结构的方法,不过也有Python常见的一些缺点,就是动态类型的话就没有代码补全了,所以只能自己手敲了,然后还有可能出现类型错误,也没办法自动检查,只能看技术了.

Last modification:January 27th, 2020 at 01:40 pm