day12-作业

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

class Computer:
    """电脑类"""
    def __init__(self,brand,color,size):
        self.brand = brand
        self.color = color
        self.size = size
    @staticmethod
    def play_games(game):
        print('打%s游戏'%game)

    @staticmethod
    def write_code(type):
        print('写%s代码'%type)
    @staticmethod
    def watch_videos(video):
        print('看%s电影'%video)

#创建一个电脑对象
comp1 = Computer('戴尔','black','4G')
#获取属性
print(comp1.brand,comp1.color,comp1.size)
#通过getattr获取属性
print(getattr(comp1,'brand'))
#修改属性
comp1.brand = 'mac'
print(comp1.brand)
#通过setattr修改属性
setattr(comp1,'color','red')
print(comp1.color)
#添加属性,显示器大小
comp1.monitor =  '14寸'
print(comp1.monitor)
#通过 setattr添加属性
setattr(comp1,'monitor','14寸')
print(comp1.monitor)
删除属性
del comp1.brand
print(comp1.brand)
通过delattr删除属性
delattr(comp1,'brand')
print(comp1.brand)

结果

戴尔 black 4G
戴尔
mac
red
14寸
14寸

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

class Dog:
    def __init__(self,name,color,age):
        self.g_name = name
        self.color = color
        self.g_age = age
    def call(self):
        print('%s:叫唤'%(self.g_name))


class Person:
    def __init__(self,name,age=18):
        self.name = name
        self.age = age
        #用None来表示对象的零值
        self.dog = None
    def walk_dog(self):
        if self.dog == None:
            print('遛狗')
            return

       
        print('%s在遛%s'%(self.name,self.dog.g_name))

people = Person('小明',18)
people.dog = Dog('大黄','yellow',2)
print(people.walk_dog())

结果

小明在遛大黄

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

class Rectangle:
    def __init__(self,length,width):
        self.length = length
        self.width = width
    def  perimeter(self):
        #计算周长
        return (self.length+self.width)*2
        # print('这个矩形周长为%s'%(result))
    def area(self):
        #计算面积
       return self.length*self.width
        # print('这个矩形面积为%s'%(result))
rec1 = Rectangle(20,30)
print(rec1.perimeter())
print(rec1.area())

rec2 = Rectangle(50,78)
print(rec2.perimeter())
print(rec2.area())

结果

100
600
256
3900

4.

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

from  random import randint
# if __name__ == '__main__':
class Student:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        self.number = 'pu1805'+str(randint(0,50))

    def answer(self):
        print('%s,到'%self.name)
    def show_message(self):
        print('name:%s age:%s number:%s' % (self.name, self.age, self.number))


class Class:
    def __init__(self,name):
        self.name = name
        self.students = []
    def append_student(self,student):
        #添加学生
        self.students.append(student)
    def del_student(self,name):
        for student in self.students[:]:
         if student.name == name:
             self.students.remove(student)
    def call_names(self):
        for student in self.students:
            #点名
            print(student.name)
            #答到
            student.answer()
    
cla1 = Class('py1805')
stu1 = Student('张三',18)
stu2 = Student('李四', 17)
stu3 = Student('王五', 16)
cla1.append_student(stu1)
cla1.append_student(stu2)
cla1.append_student(stu3)
cla1.call_names()

结果

张三
张三,到
李四
李四,到
王五
王五,到

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

class Math:
    pi = 3.1415926
    e = 2.718
    @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 div(a,b):
        #除法
        return a/b

    @staticmethod
    def rem(a,b):
        #取余
       return a%b

    @staticmethod
    def pic(a,b):
        # 取整
        return a//b
print(Math.add(1,2))
print(Math.div(2,6))

结果

3
0.3333333333333333
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 1.声明一个电脑类: 属性:品牌、颜色、内存大小方法:打游戏、写代码、看视频 a.创建电脑类的对象,然后通过对象点...
    木偶演员阅读 191评论 0 4
  • 1.声明一个电脑类: 属性:品牌、颜色、内存大小方法:打游戏、写代码、看视频 2.声明一个人的类和狗的类: 狗的属...
    小先生_8bfd阅读 367评论 0 4
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,299评论 8 265
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,779评论 2 16
  • 下午外孙女放学回家,看样子是饿了,找东西吃,正好我中午做的鸡爪和翅根,刚出锅的馒头,坐下来安静的吃起来,一会...
    苏筱瑜姥姥阅读 180评论 0 0