2019-08-08day14作業(yè)(最后一題剩點(diǎn)名,需用繼承)

1.聲明?個電腦類: 屬性:品牌、顏?、內(nèi)存?小 方法:打游戲、寫代碼、看視頻
a.創(chuàng)建電腦類的對象,然后通過對象點(diǎn)的?方式獲取、修改、添加和刪除它的屬性
b.通過attr相關(guān)?方法去獲取、修改、添加和刪除它的屬性

class Computer:
    __slots__ = ('brand', 'color', 'memory', 'price', 'cpu')

    def __init__(self, brand, color, memory):
        self.brand = brand
        self.color = color
        self.memory = memory

    def play_game(self):
        print('打游戲')

    def write_code(self):
        print('敲代碼')

    def watch(self):
        print('看電視')


computer1 = Computer('dell', 'red', '16G')

computer2 = Computer('hp', 'black', '8G')
print(computer1.brand, computer1.color, computer1.memory)
print(computer2.brand, computer2.color, computer2.memory)

computer1.play_game()
computer2.write_code()
computer2.watch()

computer1.cpu = 'inter'
print(computer1.cpu)
setattr(computer1, 'price', 'rmb:8080')
print(computer1.price)

delattr(computer2, 'brand')
del computer2.color
print(computer2.brand, computer2.color, computer2.memory)

2.聲明?個人的類和狗的類:
狗的屬性:名字、顏色、年齡
狗的?方法:叫喚
人的屬性:名字、年齡、狗
人的?法:遛狗
a.創(chuàng)建人的對象小明,讓他擁有一條狗?黃,然后讓小明去遛大黃

class Person:
    __slots__ = ('name', 'age', 'dog')

    def __init__(self, name, age, dog):
        self.name = name
        self.age = age
        self.dog = dog

    def hang_dog(self):
        print('%s牽著%s去公園玩兒' % (self.name, self.dog))


class Dog:
    __slots__ = ('dog_name', 'dog_color', 'dog_age')

    def __init__(self, dog_name, dog_color, dog_age):
        self.dog_name = dog_name
        self.dog_color = dog_color
        self.dog_age = dog_age

    def bark(self):
        print('%s在公園汪汪叫' % self.dog_name)


p1 = Person('小明', 16, '大黃')
dog1 = Dog(p1.dog, 'white', '2')
print(p1.name, p1.age, p1.dog)
print(dog1.dog_name, dog1.dog_color, dog1.dog_age)
p1.hang_dog()
dog1.bark()

3.聲明?一個圓類,自己確定有哪些屬性和方法

from math import pi


class Circle:
    __slots__ = ('r', 'color')

    def __init__(self, r, color):
        self.r = r
        self.color = color

    def premiter(self):
        print(2*pi*self.r)

    def area(self):
        print(pi*self.r*self.r)


circle1 = Circle(5, 'red')
circle1.area()
circle1.premiter()

4.創(chuàng)建?一個學(xué)?生類:
屬性:姓名,年齡,學(xué)號
方法:答到,展示學(xué)?生信息

創(chuàng)建一個班級類:
屬性:學(xué)生,班級名
方法:添加學(xué)?生,刪除學(xué)生,點(diǎn)名, 求班上學(xué)生的平均年齡

class Student:
    __slots__ = ('name', 'age', 'stu_id', 'class_id')

    def __init__(self, name, age, stu_id):
        self.name = name
        self.age = age
        self.stu_id = stu_id

    def reply(self):
        print('%s已就位' % self.name)


stu1 = Student('王力', '18', '1904')
stu1.reply()


class Class:
    __slots__ = ('name', 'class_id', 'age', 'stu_id')

    def __init__(self, name, class_id, age, stu_id):
        self.name = name
        self.class_id = class_id
        self.age = age
        self.stu_id = stu_id

    def add_stu(self):
        self.name = input('學(xué)生姓名:')
        self.age = input('學(xué)生年齡:')
        self.stu_id = input('學(xué)生學(xué)號:')
        self.class_id = input('學(xué)生班級:')

    def del_stu(self):
        self.name = input('要刪除的學(xué)生姓名:')
        del (self.name, self.age, self.stu_id, self.class_id)
        print('刪除成功')


class1 = Class(None, None, None, None)
class1.add_stu()
print(class1.name, class1.age, class1.stu_id, class1.class_id)


class1.del_stu()
print(class1.name, class1.age, class1.stu_id, class1.class_id)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容