"", . , , . , , , is None, -, . , , , , .
:
def factor(n):
"""returns a list of the prime factors of integer n"""
factors = []
p = primes.generator()
while n > 1:
x = p.next()
while n % x == 0:
n = n/x
factors.append(x)
return factors
primes, primes.factor.
:
primes.factor , GNU core-utils factor ~ 10 ^ 20. , , :
def generator():
"""returns a generator that yields an infinite list of primes"""
return itertools.ifilter(
lambda n, Primes=[]:
all(n%p for p in
itertools.takewhile(lambda p, s=n**0.5: p <= s, Primes)
) and not Primes.append(n),
itertools.count(2)
)
, , Alex Martelli Python Cookbook, , . , . unit test factor, , , , .
GNU factor - , , . , , Python. , "": -, , , ?
:
, , , , generator "" , , , . ( ), - , , - , , . , , "".