美文网首页
python 枚举

python 枚举

作者: Joncc | 来源:发表于2021-02-04 15:04 被阅读0次
    from enum import IntEnum
    
    class StatusE(IntEnum):
        """
        定义一个枚举
        """
        OPEN = 1
        IN_PROGRESS = 2
        CLOSED = 3
    
    def handle_open_status():
        print('Handling openstatus')
    
    def handle_in_progress_status():
        print('Handling inprogress status')
    
    def handle_closed_status():
        print('Handling closedstatus')
    
    handlers = {
        StatusE.OPEN.value: handle_open_status,
        StatusE.IN_PROGRESS.value: handle_in_progress_status,
        StatusE.CLOSED.value: handle_closed_status
    }
    
    def handle_status_change(status):
        if status not in handlers:
             raise Exception(f'No handler found for status: {status}')
        handler = handlers[status]
        handler()
    
    
    if __name__ == "__main__":
        print(StatusE.OPEN.value)
        print(handlers)
    
        handle_status_change(StatusE.OPEN.value)  # Handling open status
        handle_status_change(StatusE.IN_PROGRESS.value)  # Handling in progress status
        handle_status_change(StatusE.CLOSED.value)  # Handling closed status
        # handle_status_change(4)  #Will raise the exception
    

    相关文章

      网友评论

          本文标题:python 枚举

          本文链接:https://www.haomeiwen.com/subject/ojubtltx.html