python学习日志-1

10 阅读1分钟
  1. python已经有三元表达式了,另外也可以考虑用lambda表达式来实现:
    status = "adult" if age >= 18 else "child"
    even_odd = lambda num: 'even' if num % 2 == 0 else 'odd'
    
  2. 对于枚举的match-case,如果是在python里面,那么有更简洁的写法:
    # 标准实现
    def get_action_num(action: str) -> int:
        if action == "start":
            ret = 1
        elif action == "stop":
            ret = 2
        elif action == "restart":
            ret = 3
        else:
            ret = 0
        return ret
    print(get_action_num("start"))
    
    # 使用字典映射代替多个if-else
    def get_action_num_2(action: str) -> int:
        return {
            "start": 1,
            "stop": 2,
            "restart": 3, #这里就自己去理解枚举的写法了
        }.get(action, 0)
    
  3. 公司的