python中并没有多分支的语句。像c语言中有switch语句,可以避免多个if的使用场合,简化代码。

  python若想实现多分支的功能需要自己构建代码,涉及到装饰器的知识点。下面举个例子。

switch_dicts = {}


def deco(data):
    def wrapper(func):
        if data not in switch_dicts.keys():
            switch_dicts[data] = func

        def wrapper1(*args, **kwargs):
            return func(*args, **kwargs)

        return wrapper1

    return wrapper


@deco(1)
def case1(*args, **kwargs):
    print("case1")


@deco(2)
def case1(*args, **kwargs):
    print("case2")


@deco(3)
def case1(*args, **kwargs):
    print("case3")

#装饰器自动运行时,会自动将1,2,3装入字典中
print(switch_dicts)
调用字典中key为1所指向的函数
print(switch_dicts[1]())

 

相关文章:

  • 2021-11-28
  • 2022-12-23
  • 2021-10-15
  • 2021-04-27
  • 2022-12-23
  • 2022-01-02
  • 2022-12-23
  • 2023-01-16
猜你喜欢
  • 2021-07-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2021-05-13
  • 2022-12-23
相关资源
相似解决方案