我有一个函数来计算测试用例的CPU使用率。该函数有效,但我想将减法的结果附加在列表中以供进一步使用。
例如,首先我减去10
和15
,即-5
。此时,列表看起来像[-5]
。接下来,我减去20
和30
。现在,我希望列表看起来像-10
。我当前的代码是(python 2.7):
[-5, -10]
答案 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
(因为它们是本地的,所以创建为b
和self.a
,并将它们本地存储在该类中。 self.b
函数不带任何参数,但返回diff()
和a
的差,它们存储在该类的本地。然后,创建一个没有元素的名为b
的列表。我运行results
,它与cpu.diff()
和cpu_start()
有所不同,并将结果附加到cpu_end()
数组中。这是循环运行的,不断添加到数组并打印出来。
希望这会有所帮助。