首页 > 其他 > 详细

练习 : 面向对象(有些错误,后期更新)

时间:2019-11-24 20:09:39      阅读:98      评论:0      收藏:0      [点我收藏+]

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

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

class Computer:
    def __init__(self, brand, color, ram_size='8G'):
        self.brand = brand
        self.color = color
        self.ram_size = ram_size

    @staticmethod
    def play_game():
        print('打游戏')

    @staticmethod
    def write_code():
        print('写代码')

    @staticmethod
    def watch_the_video():
        print('看视频')


# 生成对象
computer1 = Computer('Surface', '银白')

""" a. """
# 获取属性
print('品牌:', computer1.brand, '\n内存:', computer1.ram_size, '\n颜色:', computer1.color, '\n')
# 修改属性
computer1.brand = '华硕'
computer1.color = '黑色'
computer1.ram_size = '16GB'
# 增加属性
computer1.screen_size = '15寸'
# 删除属性
del computer1.color
print('品牌:', computer1.brand, '\n内存:', computer1.ram_size, '\n屏幕尺寸:', computer1.screen_size, '\n')

""" b. """
# 获取属性
print(getattr(computer1, 'age', '没有该属性'))
# 修改属性
setattr(computer1, 'brand', '戴尔')
# 添加属性
setattr(computer1, 'color', 'break')
# 删除属性
delattr(computer1, 'color')

2.声明?个人的类和狗的类:

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

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

    def walking_the_dog(self):
        print('%s遛%s' % (self.name, self.dog))


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

    @staticmethod
    def dog_barking():
        print('狗叫')


dog1 = Dog('大黄', '黄色', 2)
pre = Person('小明', dog1.name)
pre.walking_the_dog()

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

class Circle:
    def __init__(self, radius):
        self.radius = radius

    def area(self):
        print('圆的面积是:', math.pi * self.radius**2)

    def perimeter(self):
        print('圆的周长是:', math.pi * self.radius*2)


circle1 = Circle(5)
circle1.area()
circle1.perimeter()

4.创建?一个学?生类:

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

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

    def show(self):
        print('学生姓名:', self.name, '\n学生年龄:', self.age, '\n学生学号:', self.stu_num)


class Class:
    def __init__(self, stu: list, class_name):
        self.class_name = class_name
        self.stu = stu

    def add_stu(self):


    def del_stu(self):


    def roll_call(self):


    def avr_age(self):


with open('../files/all_class.json') as f:
    school = f.read()
    if not school:
        all_class = {}
    else:
        all_class = school

    class_name = input('请输入班级名:')
    for name in all_class:
        if name == class_name:




stu1 = Student('小明', 20, '001')
stu2 = Student('小花', 18, '002')

class1 = Class()

练习 : 面向对象(有些错误,后期更新)

原文:https://www.cnblogs.com/anjhon/p/11923249.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!