• 作业


    今日作业

    注意: 总结完知识点再写作业

    1、课堂练习先总结完

    2、理解后代码至少敲两遍

    3、记录博客, 再写作业!!!

    1.什么是组合?为什么要使用组合?
        -组合:指的是一个对象中,包含另一个或对个对象
        -为了减少代码冗余
    
    2.什么是封装?
        -封装:指的是可将一堆属性和方法,封装到对象中
        -方便数据的存取
    
    		
    3.什么是访问限制机制?
        -凡是在类内部定义的属性或方法
        -以__开头的属性或方法名,都会被限制,外部不能“直接访问”该属性的原型
        
    
    4.访问限制机制的优点?
        -优点:将一些重要的数据隐藏起来,不让外部轻易获取
    
    
    5.什么是property?为什么要使用property?
        -property是python内置的装饰器,可以装饰在“类内部的方法”上。
        -可以将该方法调用方式由--->对象.方法()--->对象.方法
        
        -为了迷惑使用者,让使用者以为他拿到的是一个属性,其实在内部调用了执行
    
    6.练习题:
    '''
    	- 需求:
    			- 老师对象:
    					- 特征:
    							# 老师信息都为隐私数据,需要私有化
    							- 1.姓名
    							- 2.年龄
    							- 3.性别
    							- 4.薪资
    							- 5.等级
    							- 6.身份证ID
    							
    							# 课程列表无需私有化
    							- 7.课程列表
    
    					- 技能:
    							- 1.查看老师信息接口:
    									- 直接打印即可
    									
    							- 2.获取老师身份证ID:
    									- 该方法将 动词设置为 名词的调用方式
    					
    							- 3.添加课程:
    									- 该功能为老师课程列表添加课程对象
    
    							- 4.删除指定课程
    									- 该功能删除老师课程列表中的课程对象
    
    							- 5.修改课程信息
    									- 修改老师课程课表中课程的
    							
    							- 6.打印所有课程
    									- 打印老师课程列表中所有课程的信息	
    											- 遍历调用所有课程对象中打印课程技能
    
    			- 课程对象:
    					- 特征:
    							- 1.课程名称
    							- 2.课程价格
    							- 3.课程周期
    					
    					- 技能:
    							- 1.可以打印课程信息
    '''
    
    • 第六题
    class Teacher:
    
        def __init__(self, name, age, sex, sal, level, ID):
            self.__name = name
            self.__age = age
            self.__sex = sex
            self.__sal = sal
            self.__level = level
            self.__ID = ID
            #老师自己的授课列表
            self.course_list = []
    
        #检验接口,获取老师信息
        def parse_teacher(self, username, password):
            if username == 'tank' and password == '123':
                print(f'''
                通过验证,获取老师信息
                用户名:{self.__name}
                用户年龄:{self.__age}
                用户性别:{self.__sex}
                用户薪资:{self.__sal}
                用户等级:{self.__level}
                用户ID:{self.__ID}
                授课列表:{self.course_list}
                ''')
            else:
                print('校验失败,无法查询用户信息!')
    
        #查看ID
        @property
        def ID(self):
            return self.__ID
    
    
    
        #添加课程
        def add_course(self,course_obj):
            self.course_list.append(course_obj)
    
    
        @property
        def course(self):
            return self.course_list
    
        #修改课程
        @course.setter
        def course(self, value):
            self.course_list = value
        #删除课程
        @course.deleter
        def course(self):
            del self.course_list
    
        #打印所有课程
        def tell_all_course(self):
            for course_obj in self.course_list:
                course_obj.tell_course_info()
    
    
    #课程对象
    class Course:
        def __init__(self, course_name, course_price, course_time):
            self.course_name = course_name
            self.course_price = course_price
            self.course_time = course_time
    
        def tell_course_info(self):
            print(f'''
            =====课程信息如下=====
            课程名称:{self.course_name}
            课程价格:{self.course_price}
            课程时间:{self.course_time}
            ''')
    
    tea_obj  = Teacher('tank', 18, 'male', 20000, 7, 455022423434461187)
    tea_obj.parse_teacher('tank', '123')
    
    #创建课程对象
    python_obj = Course('python', 66666, 6)
    go_obj = Course('go', 77777, 5)
    
    #给老师对象添加课程对象
    tea_obj.add_course(python_obj)
    tea_obj.add_course(go_obj)
    
    #当前老师所有的课程信息
    tea_obj.tell_all_course()
    '''
            =====课程信息如下=====
            课程名称:python
            课程价格:66666
            课程时间:6
            
    
            =====课程信息如下=====
            课程名称:go
            课程价格:77777
            课程时间:5
            
    '''
    
    # #查看ID
    # print(tea_obj.ID)  #455022423434461187
    #
    # #修改课程
    # tea_obj.course_list[0] = 'java'
    # print(tea_obj.course_list[0])  #java
    
    #删除课程
    # del tea_obj.course_list
    # print(tea_obj.course_list)
    # #AttributeError: 'Teacher' object has no attribute 'course_list'
    
    
    
    
  • 相关阅读:
    字符串类型
    mysql-schema-sync 实现 不同环境实例间表结构统一
    order by 运行过程
    MySQL 生成随机测试数据
    MySQL binlog 日志处理
    MySQL 查询优化
    使用 pyenv 管理不同的 Python 版本
    使用 pyenv 管理不同的 Python 版本
    MVC5 已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭。
    在ASP.net MVC中利用ajax配合razor进行局部加载(给页面套好样式以后,一刷新就不合适了,终于找到了解决方案)
  • 原文地址:https://www.cnblogs.com/yafeng666/p/11945154.html
Copyright © 2020-2023  润新知