【发布时间】:2020-04-09 18:13:56
【问题描述】:
我需要解决一个问题,但我绝对不知道如何解决它。我有一个程序有两个以上的变量。每个变量都占用内存(字节),我需要计算这些字节的总和(我认为唯一的方法是使用 sys.getsizeof、ctypes.string_at 和 struct.unpack)。所以,例如
x1, y1, x2, y2 = map(int, input().split(" "))
if x1 > x2:
resX = x1 - x2
resY = y1 - y2
else:
resX = x2 - x1
resY = y2 - y1
k = int(resY/resX)
b = y1 - (k*x1)
if b > 0:
print("y = {}x + {}".format(k, b))
else:
print("y = {}x - {}".format(k, abs(b)))
有很多变量。如果我尝试做傻事,结果将是sys.getsizeof(x1) + sys.getsizeof(x2) + sys.getsizeof(x3) ... + sys.getsizeof(b)。但我需要编写一个函数来计算每个变量数量的总和。首先,我不知道如何分隔变量(我考虑过创建 dict 并计算值的内存使用量,但我真的不知道如何分隔变量)。
你能给我一个建议吗?这个任务非常具体,我在谷歌中没有找到任何关于解决这个问题的信息。无处不在的程序员只是像我上面展示的那样把每一个 uasge 加起来。
所以,如果你能说出你的想法,我会很高兴的。谢谢
【问题讨论】:
标签: python variables memory memory-management task