作業(yè)Day15_類和對(duì)象(1)

1.聲明?個(gè)電腦類: 屬性:品牌、顏?柒巫、內(nèi)存?小 方法:打游戲励堡、寫代碼、看視頻

class Computer:
    def __init__(self, brand, color, ram):
        self.brand = brand
        self.color = color
        self.ram = ram

    @staticmethod
    def play_game():
        print('這是在玩游戲')

    @staticmethod
    def write_code():
        print('這是在寫代碼')

    @staticmethod
    def see_video():
        print('這是在看視頻')

a.創(chuàng)建電腦類的對(duì)象堡掏,然后通過(guò)對(duì)象點(diǎn)的?方式獲取应结、修改、添加和刪除它的屬性

puter = Computer('聯(lián)想', '黑色', '8G')

    # 獲取品牌屬性
    print(puter.brand)
    # 獲取顏色屬性
    print(puter.color)
    # 獲取內(nèi)存信息
    print(puter.ram)
    print(puter.__dict__)

    # 修改品牌屬性
    puter.brand = '戴爾'
    # 修改顏色屬性
    puter.color = '藍(lán)色'
    # 修改內(nèi)存信息
    puter.ram = '4G'
    print(puter.__dict__)

    # 添加屬性
    puter.size = '14寸'
    print(puter.__dict__)

    # 刪除屬性
    del puter.size
    print(puter.__dict__)

這是結(jié)果:

E:\LHYPython\homework\day15_類和對(duì)象\venv\Scripts\python.exe 
E:/LHYPython/homework/day15_類和對(duì)象/01_work.py
聯(lián)想
黑色
8G
{'brand': '聯(lián)想', 'color': '黑色', 'ram': '8G'}
{'brand': '戴爾', 'color': '藍(lán)色', 'ram': '4G'}
{'brand': '戴爾', 'color': '藍(lán)色', 'ram': '4G', 'size': '14寸'}
{'brand': '戴爾', 'color': '藍(lán)色', 'ram': '4G'}

Process finished with exit code 0

b.通過(guò)attr相關(guān)?方法去獲取泉唁、修改鹅龄、添加和刪除它的屬性

puter2 = Computer('蘋果', '銀色', '8G')

    # 獲取品牌屬性
    print(getattr(puter2, 'brand', '未知'))
    # 獲取顏色屬性
    print(getattr(puter2, 'color', '未知'))
    # 獲取內(nèi)存屬性
    print(getattr(puter2, 'ram', '未知'))
    print(puter2.__dict__)

    # 修改品牌屬性
    setattr(puter2, 'brand', '外星人')
    # 修改顏色屬性
    setattr(puter2, 'color', '黑色')
    # 修改內(nèi)存屬性
    setattr(puter2, 'ram', '12G')
    print(puter2.__dict__)

    # 添加尺寸屬性
    setattr(puter2, 'size', '15.6寸')
    print(puter2.__dict__)

    # 刪除尺寸屬性
    delattr(puter2, 'size')
    print(puter2.__dict__)

這是結(jié)果:

E:\LHYPython\homework\day15_類和對(duì)象\venv\Scripts\python.exe 
E:/LHYPython/homework/day15_類和對(duì)象/01_work.py
蘋果
銀色
8G
{'brand': '蘋果', 'color': '銀色', 'ram': '8G'}
{'brand': '外星人', 'color': '黑色', 'ram': '12G'}
{'brand': '外星人', 'color': '黑色', 'ram': '12G', 'size': '15.6寸'}
{'brand': '外星人', 'color': '黑色', 'ram': '12G'}

Process finished with exit code 0

2.聲明?個(gè)人的類和狗的類:
狗的屬性:名字、色亭畜、年齡
狗的?方法:叫喚
人的屬性:名字扮休、年齡、狗
人的方法:遛狗

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

    def walk_dog(self):
        print('{}正在遛著{},'.format(self.name, self.dog), end='')


class Dog:
    def __init__(self, name, color, age):
        self.name = name
        self.color = color
        self.age = age

    def bark(self):
        print('這個(gè)時(shí)候{}卻突然叫喚起來(lái)'.format(self.name))

a.創(chuàng)建人的對(duì)象小明拴鸵,讓他擁有?一條狗?黃玷坠,然后讓小明去遛?黃

dog = Dog('大黃', '黃色', 3)
person = Person('小明', 24, dog.name)
person.walk_dog()
dog.bark()
E:\LHYPython\homework\day15_類和對(duì)象\venv\Scripts\python.exe 
E:/LHYPython/homework/day15_類和對(duì)象/02_work.py
小明正在遛著大黃,這個(gè)時(shí)候大黃卻突然叫喚起來(lái)

Process finished with exit code 0

3.聲明一個(gè)圓類:

class Circle:
    def __init__(self, r):
        self.pi = pi
        self.r = r

    def area(self):
        print('r={}的圓面積是{}'.format(self.r, pi * self.r ** 2))

    def perim(self):
        print('r={}的圓周長(zhǎng)是{}'.format(self.r, pi * self.r * 2))

這是結(jié)果:

E:\LHYPython\homework\day15_類和對(duì)象\venv\Scripts\python.exe 
E:/LHYPython/homework/day15_類和對(duì)象/03_work.py
r=10的圓面積是314.1592653589793
r=10的圓周長(zhǎng)是62.83185307179586

Process finished with exit code 0

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

class Student:
    def __init__(self, ids, name, age):
        self.id = ids
        self.name = name
        self.age = age

    def check_in(self):
        print('學(xué)生{}已到'.format(self.name))

    def show_info(self):
        info = list(dict(self.__dict__).values())
        print('學(xué)號(hào):{}, 姓名:{}, 年齡{}'.format(info[0], info[1], info[2]))

這是結(jié)果:

E:\LHYPython\homework\day15_類和對(duì)象\venv\Scripts\python.exe 
E:/LHYPython/homework/day15_類和對(duì)象/04_work.py
學(xué)生小明已到
學(xué)號(hào):stu001, 姓名:小明, 年齡20

Process finished with exit code 0

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

class ClassGrade:
    def __init__(self, student):
        self.student = student
        self.grade_name = 1

    def add_stu(self, num):
        while True:
            num += 1
            stu_id = 'stu' + str(num).rjust(3, '0')
            stu_name = input('name:')
            stu_age = int(input('age:'))
            self.student.append({'id': stu_id, 'name': stu_name, 'age': stu_age})
            setattr(self, 'student', self.student)
            print('添加成功')
            input_value = input('是否繼續(xù)添加(Y/N)')
            if input_value != 'Y' and input_value != 'y':
                break
        return

    def del_stu(self, item_num):
        del self.student[item_num - 1]
        setattr(self, 'student', self.student)
        print('刪除成功')
        print(self.student)

    def aver_age(self):
        sum_age = 0
        for item in self.student:
            sum_age += item['age']
        aver_age = sum_age / len(self.student)
        print('平均年齡為{}'.format(aver_age))
grade = ClassGrade(student=[])
num = 0
while True:
    print(fileManage.read_text_file('page.txt'))
    input_value = input('請(qǐng)選擇你的操作')
    if input_value == '1':
        grade.add_stu(num)
    elif input_value == '2':
        item_num = 0
        for item in grade.student:
            item_num += 1
            print(str(item_num) + '> ' + '姓名:{}, 學(xué)號(hào):{}, 年齡{}'
                  .format(item['name'], item['id'], item['age']))
        grade.del_stu(item_num)
    elif input_value == '3':
        input_name = input('點(diǎn)名:')
        for item in grade.student:
            if item['name'] == input_name:
                student = Student(item['id'], item['name'], item['age'])
                student.check_in()
                student.show_info()
    elif input_value == '4':
        grade.aver_age()
    elif input_value == 'q':
        exit()
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市汰现,隨后出現(xiàn)的幾起案子溶耘,更是在濱河造成了極大的恐慌,老刑警劉巖服鹅,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異百新,居然都是意外死亡企软,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門饭望,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)仗哨,“玉大人,你說(shuō)我怎么就攤上這事铅辞⊙崞” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵斟珊,是天一觀的道長(zhǎng)苇倡。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么旨椒? 我笑而不...
    開封第一講書人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任晓褪,我火速辦了婚禮,結(jié)果婚禮上综慎,老公的妹妹穿的比我還像新娘涣仿。我一直安慰自己,他們只是感情好示惊,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開白布好港。 她就那樣靜靜地躺著,像睡著了一般米罚。 火紅的嫁衣襯著肌膚如雪钧汹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評(píng)論 1 308
  • 那天阔拳,我揣著相機(jī)與錄音崭孤,去河邊找鬼。 笑死糊肠,一個(gè)胖子當(dāng)著我的面吹牛辨宠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播货裹,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼嗤形,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了弧圆?” 一聲冷哼從身側(cè)響起赋兵,我...
    開封第一講書人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎搔预,沒(méi)想到半個(gè)月后霹期,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拯田,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年历造,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片船庇。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡吭产,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出鸭轮,到底是詐尸還是另有隱情臣淤,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布窃爷,位于F島的核電站邑蒋,受9級(jí)特大地震影響姓蜂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜寺董,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一覆糟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧遮咖,春花似錦滩字、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至陶珠,卻和暖如春挟裂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背揍诽。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工诀蓉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人暑脆。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓渠啤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親添吗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沥曹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一.recode 1.類:擁有相同屬性和相同功能的對(duì)象的集合(抽象)屬性 -> 存儲(chǔ)數(shù)據(jù)(對(duì)象屬性,類的字段)功能...
    芽菜包66閱讀 141評(píng)論 0 0
  • 1 內(nèi)置類屬性 內(nèi)置類屬性就是魔法屬性魔法屬性:屬性名的前面和后面都有兩個(gè)下劃線碟联。魔法方法:方法的前后都有兩個(gè)下劃...
    C0mpass閱讀 298評(píng)論 0 0
  • 一妓美、recode 1.類:擁有相同屬性和相同功能的對(duì)象的集合(抽象)屬性 -> 存儲(chǔ)數(shù)據(jù)(對(duì)象屬性,類的字段)功能...
    大漠判官1閱讀 191評(píng)論 0 0
  • 編程思想 面向過(guò)程編程 - 遇到問(wèn)題直接將邏輯轉(zhuǎn)換成代碼 函數(shù)式編程 - 遇到問(wèn)題就想找一個(gè)鲤孵、寫一個(gè)擁有相應(yīng)功能的...
    挽風(fēng)style閱讀 214評(píng)論 0 1
  • 什么是類壶栋,什么是對(duì)象 什么是類,什么是對(duì)象類就是擁有相同功能和相同屬性的對(duì)象的集合;類是抽象的對(duì)象就是類的實(shí)例;對(duì)...
    ChiAo1fei閱讀 241評(píng)論 0 0