2019-11-26-Python作业

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

    class Auto:
        def __init__(self, tire=4, color='white', weight=1, speed=180):
            self.tire = tire
            self.color = color
            self.weight = weight
            self.speed = speed
    
        @classmethod
        def ac(cls):
            print('加速')
    
        @classmethod
        def dec(cls):
            print('减速')
    
        @classmethod
        def stop(cls):
            print('停车')
    
    
    class CarAuto(Auto):
        air = 'air'
        cd = 'CD'
    
        @classmethod
        def ac(cls):
            print('son加速')
    
        @classmethod
        def dec(cls):
            print('son减速')
    
        @classmethod
        def stop(cls):
            print('son停车')
    
  1. 创建一个Person类,添加一个类字段用来统计Perosn类的对象的个数

    class Person:
        count = 0
    
        def __init__(self):
            Person.count += 1
            pass
    
    
    p1 = Person()
    p2 = Person()
    print(Person.count)
    

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

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

    class Animal:
        def __init__(self, gender='1', age=2, color='white', breed='bird'):
            self.gender = gender
            self.age = age
            self.color = color
            self.breed = breed
    
        def show(self):
            print('/{}的对象: 性别-{} 年龄-{} 颜色-{} 类型-{}/'.format(Animal.__name__, self.gender, self.age, self.color, self.breed))
    
    
    b = Animal()
    b.show()
    

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

    class Circle:
        pi = 3.1415926
    
        def __init__(self, r):
            self.r = r
            self._area = 0
            self._per = 0
    
        @property
        def area(self):
            return Circle.pi * self.r * self.r
    
        @area.setter
        def area(self, value):
            raise ValueError
    
        @property
        def per(self):
            return Circle.pi * self.r * 2
    
        @per.setter
        def per(self, value):
            raise ValueError
    
    
    c1 = Circle(3)
    print(c1.area, c1.per)
    

你可能感兴趣的:(2019-11-26-Python作业)