Python特殊方法:__repr__¶
import random
class Point(object):
def __init__(self, dist_from_origin, weight):
self.dist = dist_from_origin
self.weight = weight
def __repr__(self):
return "Point dist: %f; weight: %f" % (self.dist, self.weight)
def getPointList(numPoints, maxDist):
l = []
n = 0
while n <= numPoints:
dist = random.random()
random.seed()
weight = random.uniform(0.01, 0.1)
if dist <= maxDist:
l.append(Point(dist, weight))
n += 1
return l
print(getPointList(100, 0.17))
import random
class Point(object):
def __init__(self, dist_from_origin, weight):
self.dist = dist_from_origin
self.weight = weight
def __repr__(self):
return "Point dist: %f; weight: %f" % (self.dist, self.weight)
@measure_time
def getPointList(numPoints, maxDist):
l = []
n = 0
while n <= numPoints:
dist = random.random()
random.seed()
weight = random.uniform(0.01, 0.1)
if dist <= maxDist:
l.append(Point(dist, weight))
n += 1
return l
@measure_time
def pointGenerator(numPoints, maxDist):
n = 0
while n <= numPoints:
dist = random.random()
random.seed()
weight = random.uniform(0.01, 0.1)
if dist <= maxDist:
n += 1
yield Point(dist, weight)
print("List: ", getPointList(1000, 0.17))
print("Generator: ", pointGenerator(1000, 0.17))