美文网首页
day013 作业 07-31

day013 作业 07-31

作者: Yehao_ | 来源:发表于2018-07-31 20:34 被阅读0次

    1.声明一个电脑类:
    属性:品牌、颜色、内存大小
    方法:打游戏、写代码、看视频
    a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
    b.通过attr相关方法去获取、修改、添加和删除它的属性

    class Computer:
        __slots__ = ('brand', 'color', 'memory')
    
        def __init__(self, brand='Asus', color='Pink', memory='8G'):
            self.brand = brand  # 商标
            self.color = color  # 颜色
            self.memory =memory  # 内存
    
        @staticmethod
        def play_computer_games():
            print('LOL、DOTA2、PUBG、逆水寒都可以玩')
    
        @staticmethod
        def coding():
            print('Coding makes perfect .')
    
        @staticmethod
        def watch_videos():
            print('Also can watch videos')
    
    c1 = Computer()
    print(c1.brand, c1.color, c1.memory)
    c1.color = 'Blank'
    print(c1.brand, c1.color, c1.memory)
    c1.price = 4999
    print(c1.brand, c1.color, c1.memory, c1.price)
    del c1.color
    
    getattr(c1, 'brand')
    delattr(c1, 'price')
    setattr(c1, 'weight', '2.5kg')
    
    Output:
    Asus Pink 8G
    Asus Blank 8G
    Asus Blank 8G 4999
    

    2.声明一个人的类和狗的类:
    狗的属性:名字、颜色、年龄 狗的方法:叫唤
    人的属性:名字、年龄、狗 人的方法:遛狗
    a.创建人的对象小明,让他拥有一条狗大黄,然后让小明去遛大黄

    class Person:
        __slots__ = ('name', 'age', 'dog')
    
        def __init__(self, name, age, dog):
            self.name = name
            self.age = age
            self.dog = dog
    
        def walking_dog(self):
            print('%s正在遛%s' % (self.name, self.dog))
    
    
    class Dog:
        __slots__ = ('name', 'color', 'age')
    
        def __init__(self, name, color, age):
            self.name = name
            self.color = color
            self.age = age
    
        @staticmethod
        def bark():
            return
    
    
    d1 = Dog('大黄', 'yellow', '7')
    p1 = Person('小明', '22', d1)
    p1.walking_dog()
    

    3.声明一个矩形类:
    属性:长、宽 方法:计算周长和面积
    a.创建不同的矩形,并且打印其周长和面积

    class Rect:
        def __init__(self, width, height):
            self.width = width
            self.height = height
    
        def girth(self):
            return (self.width + self.height) * 2
    
        def area(self):
            return self.width * self.height
    
    
    rect1 = Rect(13, 21)
    girth = rect1.girth()
    area = rect1.area()
    print('宽度高度分别%d、%d矩形的周长是:%d, 面积是:%d' % (rect1.width, rect1.height, girth, area))
    rect2 = Rect(7, 9)
    girth = rect1.girth()
    area = rect1.area()
    print('宽度高度分别%d、%d矩形的周长是:%d, 面积是:%d' % (rect2.width, rect2.height, girth, area))
    
    

    4.创建一个学生类:
    属性:姓名,年龄,学号 方法:答到,展示学生信息
    创建一个班级类:
    属性:学生,班级名 方法:添加学生,删除学生,点名

    class Student:
        def __init__(self, name, age, id):
            self.name = name
            self.age = age
            self.id = id
    
        def display(self):
            print('姓名:%s,年龄:%d,学号:%s' % (self.name, self.age, self.id))
    
        def reply(self):
            print(self.name + '到!')
    
    
    class Class:
        def __init__(self, name, students=[]):
            self.name = name
            self.students = students
    
        def add_student(self):
            name = input('name:')
            age = input('age:')
            stu_id = input('id:')
            stu = Student(name, int(age), stu_id)
            self.students.append(stu)
    
        def del_student(self):
            return
    
        def call(self):
            return 
    
    
    cls1 = Class('py1805', [])
    cls1.add_student()
    students = cls1.students
    stu = students[0]
    print(stu.name)
    

    5.写一个类,封装所有和数学运算相关的功能(包含常用功能和常用值,例如:pi,e等)

    class MathOperation:
        pi = 3.1415926
        e = 2.71828
    
        @staticmethod
        def add(a, b):
            return a + b
    
        @staticmethod
        def sub(a, b):
            return a - b
    
        @staticmethod
        def mul(a, b):
            return a * b
    
        @staticmethod
        def dev(a, b):
            return a / b
    

    相关文章

      网友评论

          本文标题:day013 作业 07-31

          本文链接:https://www.haomeiwen.com/subject/bzqkvftx.html