day013 作业 07-31

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)