Advertisement

Python装饰器实践与命令调度系统的构建

阅读量:

装饰器的应用

一、写一个命令分发器

开发人员能够便捷地将特定函数关联至某一指令,当用户输入对应指令时,系统会自动调用已注册的函数进行处理。若用户输入的指令未在系统中注册对应的函数,则会触发默认函数的执行流程。用户输入操作通过input(">>")实现。
分析:
用户输入的指令需被映射至相应的处理函数并加以执行,如需持续输入可借助while循环实现。在查找对应函数是否存在时,字典结构恰好能够满足需求。当用户输入某一特定cmd指令后,若未能匹配到对应的处理函数,则需调用预设的默认函数进行处理,而字典的缺省参数机制正好适用于该场景。

复制代码
    commands = {}   #定义空字典
    def reg (name,fn): # 用函数将定义的函数存在字典内
    	commands[name] = fn
    def default_func(): #默认函数
    	print('unknown command')
    def dispatcher():  # 调度函数
    	while True:
    		cmd = input('>>')
    		if cmd.strip()=="":  #  删除空格 同时,如果用户输入的是空字符串这退出循环
    			break
    		commands

全部评论 (0)

还没有任何评论哟~