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)
    

      

      

  • 相关阅读:
    document.getElementById("mytxt").style.left=""style.left在IE的FF中注意
    asp.net 用户控件中 使用相对路径的解决方法 图片路径问题(用户控件、图片路径) ,ResolveUrl
    探索 Block (一) (手把手讲解Block 底层实现原理)
    iOS 多线程开发 (概念与API简介)
    iOS 性能小点
    iOS runtime (二)(runtime学习之AutoCoding源码分析)
    探索 NSRunLoop (二)(NSRunLoop 自己动手实现SimpleRunLoop)
    iOS NSNotificationCenter (自己实现一个通知中心XMCNotificationCenter)
    iOS runtime (三)(runtime学习之YYModel源码分析)
    iOS runtime(一)(runtime 分析理解)
  • 原文地址:https://www.cnblogs.com/marathoner/p/10284342.html
Copyright © 2011-2022 走看看