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)
    

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

推荐阅读更多精彩内容

  • 初识面向对象 楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战...
    go以恒阅读 961评论 0 6
  • 8月22日-----字符串相关 2-3 个性化消息: 将用户的姓名存到一个变量中,并向该用户显示一条消息。显示的消...
    future_d180阅读 1,009评论 0 1
  • 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车...
    ______n___阅读 145评论 0 0
  • 1.1面向对象 面向对象(object-oriented ;简称: OO)至今还没有统一的概念 我这里把它定义为:...
    TENG书阅读 594评论 0 0
  • 建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性,并通过不同的构造方法创建实例。至少要求 汽车...
    漫磋嗟阅读 291评论 0 0