zoukankan      html  css  js  c++  java
  • python闯关_Day015

    第15章,对象

    1. 什么是面向对象编程
    2. 所有程序都因该使用面向对象来设计吗?为什么?
    3. 什么是对象 什么是类
    4. 在面向过程编程中我们思考解决方案时,是分析完成任务时需要哪些步骤,按照什么样的顺序来编写,而在面向对象编程中我们从操作者转变为指挥者 首先思考的是什么?
    5. 一个类中通常包含变量和函数,它们分别用于描述什么?
    6. 类在定义阶段发生了什么
    7. 创建对象时发生了什么
    8. 程序设计:(如果写不出来就往后面看一章) 学生成绩管理系统
    1.根据姓名查看学生所有成绩
    2.查看所有人的某学科成绩
    3.查看总平均分
    4.查看某人的某学科成绩
    5.根据姓名删除学生信息

    ===================================

    1.面向对象编程
    以对象为核心关注点,编程均围绕着对象的相关特性展开
    2.不是所有的程序建议用面向对象的方式编程,比如很简单的程序,以及流程明显、并不侧重交互的程序,不建议用对象编程
    3.先定义类,再由类产生实例(对象)
    4.调用类的步骤
    首先产生一个空对象,比如stu1
    自动触发类内部__init__函数的执行
    然后将空对象stu1连同调用类时括号内的参数组成(比如,stu1,"李坦克",18,'male'),将这四个参数一起传给__init__函数
    5.变量描述属性,函数供述行为或方法
    6.类的定义阶段:
    创建命名空间,并执行代码,运行类体代码,将类体代码运行产生的名字放入名称空间
    7.创建对象时
    再次创建一个命名空间,并把空间的地址返回给对象变量

    8. 编程题

    '''
    1.根据姓名查看学生所有成绩
    2.查看所有人的某学科成绩
    3.查看总平均分
    4.查看某人的某学科成绩
    5.根据姓名删除学生信息
    '''
    class student:
        school = 'deepshare'
        def __init__(self,name,NianJi,ShuXue,YuWen):
            self.name = name
            self.NianJi = NianJi
            self.ShuXue = ShuXue
            self.YuWen = YuWen
    
        def get_name(self):
            return self.name
    
        def get_NianJi(self):
            return self.NianJi
    
        def get_ShuXue(self):
            return self.ShuXue
    
        def get_YuWen(self):
            return self.YuWen
    
        def print_all_score(self):
            print('%s的数学成绩:%3d,语文成绩:%3d'%(self.name,
                                          self.ShuXue,
                                          self.YuWen))
    
        def print_one_score(self,subject):
            if subject == 'ShuXue':
                print ('%s的数学成绩:%3d'%(self.name,
                                      self.ShuXue))
            elif subject == 'YuWen':
                print('%s的语文成绩:%3d'%(self.name,
                                     self.YuWen))
    
    
    stu1 = student('张三',1,100,90)
    stu2 = student('李四',2,90,100)
    stu = {stu1, stu2}
    print (type(stu))
    
    #查看所有成绩
    for astu in stu:
        astu.print_all_score()
    print ('='*20)
    
    # 查看所有人的某学科成绩
    for astu in stu:
        astu.print_one_score('ShuXue')
    print ('='*20)
    # .查看总平均分
    total = 0
    num = 0
    for astu in stu:
        total += astu.get_ShuXue()
        total += astu.get_YuWen()
        num += 2
    print('总平均分',total/num)
    print ('='*20)
    #4.查看某人的某学科成绩
    name = '张三'
    xueke = 'ShuXue'
    for astu in stu:
        if name == astu.get_name():
            astu.print_one_score(xueke)
    

      

      

  • 相关阅读:
    IDEA SpringBoot项目连接数据库报Acess denied错误解决方法
    字符流中出现的第一个字符
    数组中重复的数字
    替换空格
    数组中次数超过一半的数字
    表示数值的字符串
    正则表达式匹配
    SpringMVC中的视图和视图解析器
    IntelliJ Idea取消Could not autowire. No beans of 'xxxx' type found的错误提示
    spring中注解注入 context:component-scan 的使用说明
  • 原文地址:https://www.cnblogs.com/marathoner/p/10284342.html
Copyright © 2011-2022 走看看