day14作业

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

class Computer:
    """声明一个电脑类"""

    def __init__(self, brand, color, memory):
        """初始化对象的属性"""
        self.brand = brand
        self.color = color
        self.memory = memory

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

    def watch_video(self):
        print('看视频')

    def write_code(self):
        print('写代码')


my_computer = Computer('huawei', 'silver', '8G')
# 获取属性
print(my_computer.brand)
print(getattr(my_computer, 'brand'))

# 增加属性
my_computer.year = '2018'
print(my_computer.year)
setattr(my_computer, 'place', 'shen_zhen')
print(my_computer.place)


# 修改属性
my_computer.color = 'pink'
print(my_computer.color)
setattr(my_computer, 'memory', '4G')
print(my_computer.memory)

# 删除属性
del my_computer.memory
print(my_computer.__dict__)
delattr(my_computer, 'color')
print(my_computer.__dict__)

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

class Dog:
    """声明一个狗类"""

    def __init__(self, name, age, color):
        """初始化狗的属性"""
        self.name = name
        self.age = age
        self.color = color

    def bark(self):
        print('狗叫')


class Person:
    """声明一个人的类"""

    def __init__(self, name, age, have_dog=''):
        """初始化人的属性"""
        self.name = name
        self.age = age
        self.have_dog = have_dog

    def walk_dog(self, name, age, color):
        self.have_dog = Dog(name, age, color)
        print('%s在遛%s' % (self.name, self.have_dog.name))


master = Person('xiaoming', 20)
master.walk_dog('大黄', 3, 'yellow')

3.声明⼀个圆类,自己确定有哪些属性和方法

import math


class Circle:
    """声明一个圆类"""

    def __init__(self, radius, *circle_center):
        """初始化对象的属性圆心和半径"""
        self.radius = radius
        self.circle_center = circle_center

    def circle_area(self):
        """求面积"""
        area = math.pi * self.radius ** 2
        return area

    def circle_perimeter(self):
        """求周长"""
        perimeter = math.pi * 2 * self.radius
        return perimeter
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。