在python中设置一个等于布尔值的函数

时间:2014-05-28 18:56:24

标签: python

我在Python 2.6中编写驱动程序,我需要它与之前的实现反向兼容(我无法访问源代码)。

class new_driver ():

     def output(self, state):

          if state == True:
              self.set_ouput_on()
          else:
              self.set_output_off()

              ...

奇怪的是,要保持兼容性,我必须使用格式

传递此输出
nd = new_driver()
nd.output = True

如何以这种方式传递值?

编辑:澄清:我的"输出"函数必须以这种方式接收值True才能执行函数self.set_output_on()

1 个答案:

答案 0 :(得分:4)

尝试使用@property装饰器:

@property
def output(self):
    return self... #not sure how you are tracking output on/off

@output.setter
def output(self, state):
    if state:
        self.set_output_on()
    else:
        self.set_output_off()