day13作业

2018-07-31  本文已影响0人  七夜_174e

面向对象作业1:

1.声明一个电脑类:
属性:品牌、颜色、内存大小
方法:打游戏、写代码、看视频

a.创建电脑类的对象,然后通过对象点的方式获取、修改、添加和删除它的属性
b.通过attr相关方法去获取、修改、添加和删除它的属性

class Pc:
    def __init__(self, brand, color, size):
        """电脑属性:品牌、颜色、内存大小"""
        self.brand = brand
        self.color = color
        self.size = size
    #  方法 打游戏
    def play_game(self):
        print('%s电脑被用来打游戏' % self.brand)
    # 方法 写代码
    def write_code(self):
        print('%s电脑被用来写代码' % self.brand)
#     方法 看视频
    def watch_movies(self):
        print('%s电脑被用来看电影' % self.brand)

if __name__ == '__main__':
    computer = Pc('Asus', 'red', '16G')
    print(computer.brand, computer.color, computer.size)
    computer.color = 'blue'
    print(computer.color)
    del computer.brand
    computer.price = '$1000'
    print(computer.price)

    computer.__setattr__('brand', 'acer')
    print(computer.brand)
    print(getattr(computer, 'color'))
    """delattr"""
    """__getattr__"""
    """__delattr__"""
    """setattr"""
Asus red 16G
blue
$1000
acer
blue

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

class Dog:
    def __init__(self, name='大黄', color='red', age=3):
        self.name = name
        self.color = color
        self.age = age
    def dog_way(self):
        print('%s正在叫唤' % self.name)

class Person:

    def __init__(self, name='小明', age=24, had_dog=[]):
        self.name = name
        self.age = age
        self.had_dog = had_dog
    def person_way(self, name, color, age):
        had_dog = Dog(name, color, age)
        print('%s拥有条狗,叫%s然后他要去遛狗了' % (self.name, had_dog.name))

if __name__ == '__main__':
   man = Person('小明', 19)
   man.person_way('小黄', 'blue', 4)

小明拥有条狗,叫小黄然后他要去遛狗了

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

class Rect:
    def __init__(self, length, width):
        self.length = length
        self.width = width
    def sum_area(self,):
        print(self.length * self.width)
    def sum_perimeter(self):
        print((self.length+self.width)*2)

生成长度和宽度
list1 = [x for x in range(10, 15)]
list2 = [y for y in range(20, 25)]
for i in list1:
    for j in list2:
        rect = Rect(i, j)
        rect.sum_area()
        rect.sum_perimeter()

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

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

6.1.写一个班级类,属性:班级名、学生;功能:添加学生、删除学生、根据姓名查看学生信息,展示班级的所有学生信息

上一篇下一篇

猜你喜欢

热点阅读