day15- 作业

1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车能够加速 减速 停车。 再定义一个小汽车类CarAuto 继承Auto 并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法

class Auto:
    def __init__(self, tire, color, weight, speed):
        self.tire = tire
        self.color = color
        self.weight = weight
        self.speed = speed

    @staticmethod
    def accelerate(self):
        print('加速')

    @staticmethod
    def slow_down(self):
        print('减速')

    @staticmethod
    def parking(self):
        print('停车')


class CarAuto(Auto):
    def __init__(self, tire, color, weight, speed, air_conditioning, cd):
        super().__init__(tire, color, weight, speed)
        self.air_conditioning = air_conditioning
        self.cd = cd


    def accelerate(self):
        print('CarAuto加速')


    def slow_down(self):
        print('CarAuto减速')


c1 = CarAuto(4, 'red', '500kg', 180, 1, 2)
c1.accelerate()
print(c1.slow_down())

2.创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数

class Person:
    num=0
    def __init__(self,name):
        self.name=name
        Person.num+=1



p1=Person('w')
p2=Person('a')
p3=Person('n')
p4=Person('g')
p5=Person('t')
print(Person.num)

3.创建一个动物类,拥有属性:性别、年龄、颜色、类型 ,

要求打印这个类的对象的时候以'/XXX的对象: 性别-? 年龄-? 颜色-? 类型-?/' 的形式来打印

class Animal:
    def __init__(self,gender,age,color,kind):
        self.gender=gender
        self.age=age
        self.color=color
        self.kind=kind

    def __repr__(self):
        print('性别:%s 年龄:%s 颜色:%s 类型:%s' % (self.gender,self.age,self.color,self.kind))

a1=Animal('公','3','red','狮子')
print(a1)

4.写一个圆类, 拥有属性半径、面积和周长;要求获取面积和周长的时候的时候可以根据半径的值把对应的值取到。但是给面积和周长赋值的时候,程序直接崩溃,并且提示改属性不能赋值

class Circle:
    pi=3.14
    def __init__(self,radius):
        self.radius=radius
        self._perimeter=0
        self._area=0

    @property
    def perimeter(self):
        return 2*Circle.pi*self.radius
    @perimeter.setter
    def perimeter(self,value):
        if value>=0:
            print('不能赋值')
            raise ValueError

    @property
    def area(self):
        return Circle.pi*self.radius**2

    @area.setter
    def area(self, value):
        if value >= 0:
            print('不能赋值')
            raise ValueError

c1=Circle(2)
c1.perimeter=3

print(c1.perimeter)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • day15-作业 1. 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法...
    Octane阅读 145评论 0 1
  • 1.建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 ...
    是喵啊阅读 289评论 0 0
  • “我的梦中情人,他是一位盖世英雄,我知道有一天,他会穿着金甲圣衣、踏着五彩祥云来娶我。” 《大话西游》里最经典的台...
    陌洋阅读 715评论 4 1
  • 01 经历一番轰轰烈烈的维权事件后,奔驰女研究生车主和西安利之星终于达成和解,和解协议主要内容包括: 1:更换同款...
    小哲宝阅读 105评论 0 0
  • 《暗香》 文 / 文君 月光旖旎。 见曲廊疏影,气如兰芷。 料峭春寒,几许清芬惹人醉。 残雪西风嫉妒,又怎的、任他...
    君無情545阅读 204评论 2 8