天天看点

面向对象题目

import random
#1普通类实现
class RandomGen:
    def __init__(self, num=10,start=1,stop=100,patch=10):
        self.start = start
        self.stop = stop
        self.patch = patch

    def generate(self):
        return [random.randint(self.start,self.stop) for _ in range(self.patch)]

#2作为工具类实现,提供类方法
class RandomGen:
    @classmethod
    def generate(cls,start=1,stop=100,patch=10):
        return [random.randint(start,stop) for _ in range(patch)]           
class Point:
def __init__(self,x,y):
    self.x = x
    self.y = y

points = [Point(x,y) for x ,y in zip(RandomGenerator(10).generate(),RandomGenerator(10).generate())]

for p in points:
    print('{}:{}'.format(p.x,p.y))           
class Car:
def __init__(self,mark,color,price,speed):
    self.mark = mark
    self.color = color
    self.price = price
    self.speed = speed

class CarInfo:
def __init__(self):
    self.info = []

def addcar(self,car:car):
    self.info.append(car)

def getall(self):
    return self.info

ci = CarInfo()
car = Car('ahuang',400,'rad',10)
ci.addcar(car)
ci.getall()  # 返回所有数据,此时在实现格式打印