我有一本字典:
Feedback = {'TV1power' : 0, 'TV2power' : 0, 'TV3power' : 0}
当TV1power为1时,我想更改对象属性,即Powerbutton.SetState(1)
我一直在玩以下游戏,但运气不太好,因为我对python还比较陌生:
FeedbackDict = {'TV1power' : 0, 'TV2power' : 0, 'TV3power' : 0}
class Feedback(object):
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
if name == 'TV1power':
if value == 1:
Powerbutton.SetState(1)
FeedbackDict[name] = 1
TVFeedback = Feedback()
TVFeedback.TV1power = 1
我知道一定有更好的方法在类中存储字典,并在值更改时做些什么。你知道吗
对于每种类型的反馈,你都需要一些额外的代码,但是如果参数是一致的,你可以将反馈类型本身分离成这样的类型。你知道吗
在本例中,
Powerbutton.SetState
作为tv_*_power
设置的可调用项。我省略了这一点,因此这将是一个工作的、可运行的示例;这样您可以看到它在实例化时设置值时调用print
,然后在手动设置时调用。你知道吗编辑:通过定义dict和类中的设置来帮助可读性和IDE检查/完成,而不是重复我自己。
相关问题 更多 >
编程相关推荐