首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
OPPO Watch
jakeyfly
V2EX  ›  问与答

Python 中 是的分派 有没有高级有写法 或者现成所库包

  •  
  •   jakeyfly · 295 天前 · 586 次点击
    这是一个创建于 295 天前的主题,其中的信息可能已经有所发展或是发生改变。

    根据传入的不同参数 使用不同的方法

    3 条回复    2019-08-04 00:57:17 +08:00
    Trim21
        1
    Trim21   295 天前 via Android
    functools.singledispatch
    troywinter
        2
    troywinter   295 天前
    #1 正解,曾经我在面试 python 时第一道题就是让他们写个 singledispatch 出来。。。
    shanguo
        3
    shanguo   295 天前
    # python3

    from enum import IntEnum


    class Animal(object):
    @staticmethod
    def cat():
    print('cat')

    @staticmethod
    def dog():
    print('dog')


    # 比如参数是数字 1,2
    # 可以使用枚举

    class StatusEnum(IntEnum):
    1 = cat
    2 = dog


    # 使用

    def main(animal_num):
    func = getattr(Animal, StatusEnum(animal_num).name)
    func()

    main(1)
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   5051 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 02:37 · PVG 10:37 · LAX 19:37 · JFK 22:37
    ♥ Do have faith in what you're doing.