【发布时间】:2013-03-11 00:10:51
【问题描述】:
所以我正在尝试创建一个用于高级电机控制的模块,它将包含node 类的一堆实例。创建后,每个节点都会有一个nodeID、busID 和operatingMode。
在初始化节点对象时,我向电机发送一个 CAN 帧,说“嘿,这是你想要的操作模式”。执行此操作的命令称为 cansend。
我已经粗略地编写了代码(手边没有)供您参考:
def cansend(nodeID,busID,value):
'''sends a CAN frame with a particular value to a specific node'''
class node(object):
def __init__(self,nodeID,busID,operatingMode):
self.nodeID=nodeID
self.busID=busID
self.operatingMode=operatingMode
cansend(self.nodeID,self.busID,operatingMode
我遇到的问题是,如果我想即时更改操作模式(我确实这样做了),那么似乎我必须创建单独的函数,可能是这样的:
def setOperatingMode(self,operatingMode):
cansend(self.nodeID,self.busID,operatingMode)
在__init__ 方法和setOperatingMode 方法中创建这一行似乎有点多余。我最近发现了@property 标签,但没有特别了解如何在这里使用它,但我确实觉得有更好的方法。
有什么想法吗?
【问题讨论】:
标签: python class properties