为什么python消耗这么多内存却从不释放它



为什么我的程序一直在消耗内存而从不释放它?如果你试着运行它,你就会明白我的意思。

#!/usr/local/bin/env python

def is_prime(num):
if num <= 1: return False
if num != 2 and num % 2 == 0: return False

to = num / 2 + 1
for x in range(3, to, 2):
if num % x == 0: return False
return True

if __name__ == "__main__":
primes = []
for x in range(2, 100):
if is_prime(x): primes.append(x)
print(primes)

product = primes[0]
for i in range(1, len(primes)):
print("prime: " + str(primes[i]))
new_prime = product * primes[i] + 1
if is_prime(new_prime):
print("new prime: " + str(new_prime))
else:
print(str(new_prime) + " is not prime! [error]")
product *= primes[i]

事实证明python2存在内存泄漏。Python3不会有这个问题。

最新更新