day 15 homework

1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求
汽车能够加速 减速 停车。
再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法
class Auto:
    auto_name = '法拉利'
    def __init__(self):
        self.tyre = '4'
        self.color = '红色'
        self.weight = '1000'
    def speed(self):
        # 对象方法
        return Auto.auto_name+'加速'

    # 类方法
    @classmethod
    def slow_down(cls):
        return cls.auto_name+'减速'

    # 静态方法
    @ staticmethod
    def park():
        return Auto.auto_name+'停车'


a1 = Auto()
print(a1.speed(),a1.slow_down(),a1.park())
print(a1.tyre)


class CarAuto(Auto):
    # 重新添加对象
    def __init__(self):
        super().__init__()
        self.cd = '大碗宽面'
        self.air = ''

    def speed(self):
        return '加速'

    @classmethod
    def slow_down(cls):
        return '减速'


c1 = CarAuto()
print(c1.slow_down(),c1.speed())
print(c1.cd,c1.air,c1.color)

2.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数
class Person:
    num = 0
    def __init__(self):
        Person.num += 1


p1 = Person()
p2 = Person()
p3 = Person()
p4 = Person()
p5 = Person()


print(Person.num)
3.创建一个动物类,拥有属性:性别、年龄、颜色、类型 ,
要求打印这个类的对象的时候以
'/XXX的对象: 性别-? 年龄-? 颜色-? 类型-?/'
的形式来打印
class Animal:
    def __init__(self):
        self.gender = ''
        self.age = '1'
        self.color ='白色'
        self.type ='猴'
    def __str__(self):
        return '/%s的对象,性别-%s,年龄-%s,颜色-%s,类型-%s/'%(str(self.__class__.__name__),self.gender,self.age,self.color,self.type)

an1 = Animal()
print(an1.__str__())
4.写一个圆类, 拥有属性半径、面积和周长;要求获取面积和周长的时候的时候可以根据半径的值把对应的值取到。
但是给面积和周长赋值的时候,程序直接崩溃,并且提示改属性不能赋值
class Circle:
    def __init__(self,r):
        self._r = r
        self._area = 3.1415926*r**2
        self._per =2*3.1415926*r

    # r
    @property
    def r(self):
        return self._r
    @r.setter
    def r(self,value):
        self._r=value
        self._area = self._r**2*3.1415926
        self._per = self._r *2 * 3.1415926


    # area
    @property
    def area(self):
        return self._area
    @area.setter
    def area(self,value):
        raise ValueError


    # per
    @property
    def per(self):
        return self._per
    @per.setter
    def per(self,value):
        raise ValueError

c1 = Circle(20)
c1.r = 10
print(c1.area,c1.per)
c1.area = 10
print(c1.area)     #  ValueError
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 赋值时要求age的值只能在0-150之间,超过范围报错;获取age的值的时候,返回年龄值,并且返回这个年龄对应的阶...
    芽菜包66阅读 209评论 0 0
  • 时间关系 代码只基本实现题目基本要求 最后一题使用昨天作业模块快速实现 1. 建立一个汽车类Auto -包括轮胎个...
    ham731阅读 469评论 0 1
  • 1 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 ...
    生命在于不睡觉阅读 296评论 0 0
  • 1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。 至少要求...
    不语sun阅读 235评论 0 0
  • 1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 ...
    哎哟你说啥呢阅读 93评论 0 0

友情链接更多精彩内容