假设有一个类定义了几个标准函数,其中一个函数是启动命令的函数。这里有两个例子:
Ser.Cmd(CmdEnum.MoveAbsolute,10,20,'Ack')
Ser.Cmd(CmdEnum.MoveRelative,5,0,'Ack')
其中,CmdEnum.MoveAbsolute和CmdEnum.MoveRelative是要执行的特定命令的枚举值
在这个类中还有其他的“通用”函数,比如Ser.enable或Ser.getstatus
如果命令的语法可以更改为:
Ser.MoveAbsolute(10,20,'Ack')
是否可以通过在对象创建期间传递枚举类型来创建此样式的函数
有人能举个例子吗
其思想是不要在类中硬编码“.MoveAbsolute”部分,而是根据传递的枚举值指定
您不需要枚举,因为您可以直接指示函数:
所以不是:
可能会称之为:
你可以写:
但是
Cmd
的实现是:您可以使用
functools.partial
函数来实现这一点现在可以这样调用函数:
相关问题 更多 >
编程相关推荐