我想要一个具有许多不同设备当前状态的类。随着这些状态的更改,我希望它们更改对象或变量以反映更改。这意味着每个设备都有一个单独的实例,并带有单独的变量或对象以反映属性状态。
我可以在类中更改和反映局部变量或更改全局变量,但是我希望它是动态的,并且我要更改的变量成为类中的可设置属性。
# define test
def test():
# set a
a = 2
# output
return a
print(test())
>> 2
print(a)
>> NameError: name 'a' is not defined
输出应为:
class button(object):
def __init__(self):
self.State = 0
def SetState(self, state):
self.State = state
class FeedbackHandler(object):
def __init__(self):
self.Power = None
self.Button = None
def __setattr__(self, name, value):
object.__setattr__(self, name, value)
if name == 'Power':
if value == "On":
self.Button.SetState(1)
elif value == "Off":
self.Button.SetState(0)
elif value == None:
pass
else:
print('Invalid Power Setting')
ProjectorFBButton = button()
Projector1FB = FeedbackHandler()
Projector1FB.Button = ProjectorFBButton
Projector1FB.Power = "On"
print(ProjectorFBButton.State)
Projector1FB.Power = "Off"
print(ProjectorFBButton.State)
Projector1FB.Power = "Test"