• day26练习


    类与对象测验 1、定义学校类,实例化出:北京校区、上海校区两个对象 校区独有的特征有: 校区名=“xxx” 校区地址={'city':"所在市",'district':'所在的区'} 多们课程名=['xxx','yyy','zzz'] 多个班级名=['xxx','yyy','zzz']

    校区可以: 1、创建班级 2、查看本校区开设的所有班级名 3、创建课程 4、查看本校区开设的所有课程名

    2、定义出班级类,实例化出两个班级对象 班级对象独有的特征: 班级名=‘xxx’ 所属校区名=‘xxx’ 多门课程名=['xxx','yyy','zzz'] 多个讲师名=['xxx','xxx','xxx']

    班级可以: 1、查看本班所有的课程 2、查看本班的任课老师姓名

    3、定义课程类,实例化出python、linux、go三门课程对象 课程对象独有的特征: 课程名=‘xxx’ 周期=‘3mons’ 价格=3000

    课程对象可以: 1、查看课程的详细信息

     

    4、定义学生类,实例化出张铁蛋、王三炮两名学生对象 学生对象独有的特征: 学号=10 名字=”xxx“ 班级名=['xxx','yyy'] 分数=33

    学生可以: 1、选择班级 3、注册,将对象序列化到文件

    5、定义讲师类,实例化出egon,lqz,alex,wxx四名老师对象 老师对象独有的特征: 名字=“xxx” 等级=“xxx”、 老师可以: 1、修改学生的成绩

    import pickle
    class Course:
        def __init__(self,name,period,price):
            self.__name = name
            self.__period = period
            self.__price = price
        def show_info(self):
            print('<course:%s><period:%s><price:%s>'
                  %(self.__name,self.__period,self.__price))
        @property
        def name(self):
            return self.__name
        @name.setter
        def name(self,name):
            self.__name = name
        @property
        def period(self):
            return self.__period
        @period.setter
        def period(self,period):
            self.__period=period
        @property
        def price(self):
            return self.__price
        @price.setter
        def price(self,price):
            self.__price = price
    
    class Student:
        def __init__(self,id,name,score,cls=[]):
            self.id =id
            self.name = name
            self.cls =cls
            self.score =score
        def choose_cls(self,cls):
            self.cls.append(cls)
        def regist(self):
            with open(r'%s'%self.name,'wb') as f:
                pickle.dump(self,f)
    
    class Teacher:
        def __init__(self,name,level):
            self.name = name
            self.level = level
        def mod_score(self,stu,score):
            stu.score = score
    
    class Cls:
        def __init__(self,name,school,courses=[],teachers=[]):
            self.name = name
            self.school =school
            self.courses = courses
            self.teachers = teachers
        def show_all_course(self):
            for i in self.courses:
                print('<name %s> <period: %s> <price:%s>'
                      %(i.name,i.period,i.price))
        def show_all_teacher(self):
            for i in self.teachers:
                print('<name:%s><level:%s>'%(i.name,i.level))
    
    
    class School:
        def __init__(self,name,city,district,courses=[],clss=[]):
            self.name = name
            self.address = {"city":city,"district":district}
            self.courses = courses
            self.clss = clss
        def create_clss(self,name,courses=[],teachers=[]):
            cls = Cls(name,self.name,courses,teachers)
            self.clss.append(cls)
        def show_cls_name(self):
            for i in self.clss:
                print(i.name)
        def create_course(self,name,period,price):
            cou = Course(name,period,price)
            self.courses.append(cou)
        def show_courses(self):
            for i in self.courses:
                print(i.name)
    
    bjschool = School('北京校区','北京','三里桥')
    shschool = School('上海校区','上海','浦东新区')
    bjschool.create_clss('班级1')
    shschool.create_course('java','3mon',3000)
    bjschool.show_cls_name()
    shschool.show_courses()
    
    course1 = Course('python','3mon',3000)
    course2 = Course('linux','3mon',3000)
    course3 = Course('go','3mon',3000)
    course1.show_info()
    
    
    
    
    css1 =[course1,course2]
    css2=[course1,course3]
    
    st1 =Student(1,'张铁蛋',66,css1)
    st2 =Student(2,"王三炮",69,css2)
    
    
    
    egon =Teacher('egon',10)
    lqz = Teacher('lqz',8)
    alex =Teacher('alex',10)
    egon.mod_score(st1,100)
    
    t1 = [egon]
    t2 =[lqz,alex]
    
    c1=Cls('python4',shschool.name,courses=css1,teachers=t2)
    c2 =Cls('linux',bjschool.name,css2,t1)
    c1.show_all_course()
    c2.show_all_teacher()
    
    st1.choose_cls(c1)
    st1.regist()

    结果:

    """
    班级1
    java
    <course:python><period:3mon><price:3000>
    <name python> <period: 3mon> <price:3000>
    <name linux> <period: 3mon> <price:3000>
    <name:egon><level:10>
    """
  • 相关阅读:
    数据库
    HTTP请求(Request)和回应(Response)对象
    [Uliweb]-URL映射
    git生成Key操作保存到GITHUB中
    SQL中char、varchar、nvarchar的区别
    Uliweb之 ORM基本使用(Sqlalchemy)
    ORM查询
    CentOS更改ssh端口
    django static文件的引入方式
    Redis持久化策略(RDB &AOF)
  • 原文地址:https://www.cnblogs.com/msj513/p/9845808.html
Copyright © 2020-2023  润新知