如何在数组中返回函数结果?

时间:2019-08-21 11:21:06

标签: python-2.7

我有一个函数来计算测试用例的CPU使用率。该函数有效,但我想将减法的结果附加在列表中以供进一步使用。 例如,首先我减去1015,即-5。此时,列表看起来像[-5]。接下来,我减去2030。现在,我希望列表看起来像-10。我当前的代码是(python 2.7):

[-5, -10]

1 个答案:

答案 0 :(得分:0)

只需使diff函数返回a-b,并将其附加到数组即可:

import psutil
class CPU:
    def __init__(self):
        self.cpu_start()
        self.list = []
        self.a = 0
        self.b = 0
        self.c = 0
    def cpu_start(self):
        self.a = psutil.cpu_percent(interval=1, percpu=False)
        return self.a
    def cpu_end(self):
        self.b = psutil.cpu_percent(interval=1, percpu=False)
        return self.b
    def diff(self):
        self.c = self.cpu_start() - self.cpu_start()
        return self.c

def main():
    cpu = CPU()
    results = []
    while True:
        results.append(cpu.diff())
        print results

if __name__ == '__main__':
    main()

请记住,当您使用类函数时,需要创建该类的对象,例如cpu = CPU()-我正在创建类{{1}的名为cpu的对象},什么也没有初始化。然后,CPU函数将创建__init__a(因为它们是本地的,所以创建为bself.a,并将它们本地存储在该类中。 self.b函数不带任何参数,但返回diff()a的差,它们存储在该类的本地。然后,创建一个没有元素的名为b的列表。我运行results,它与cpu.diff()cpu_start()有所不同,并将结果附加到cpu_end()数组中。这是循环运行的,不断添加到数组并打印出来。

希望这会有所帮助。