python之面向对象程序设计基础

2022-12-05 13:36:55 浏览数 (1)

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。


一、背景

  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python的面向对象程序设计基础。


二、面向对象程序设计思想

  面向对象程序设计(Object Oriented Programming,OOP)的思想主要针对大型软件设计而提出,它使得软件设计更加灵活,能够很好地支持代码复用和设计复用,并且使得代码具有更好的可读性和可扩展性。Python完全采用了面向对象程序设计的思想,是真正面向对象的高级动态编程语言,完全支持面向对象的基本功能。因此,掌握面向对象程序设计思想至关重要。


三、设计案例对比

  举个小栗子,编写程序,模拟学生选课,每选一门课程,将课程名加入到学生的所选课程中,同时将课程的学分累加到学生的总学分中。

代码语言:javascript复制
stu = {'num':'201801','name':'Jack', 'credit': ,'course':[]}    #定义一个学生
cours1 = {'num':'01','name':'Python','credit': }        #定义课程1
cours2 = {'num':'02','name':'C','credit': }        #定义课程2
def choose(c):                #定义实现选课功能的函数
    stu['credit'] =c['credit']            #将课程的学分累加到学生的总学分中
    stu['course'].append(c['name'])        #将课程名加入到学生的所选课程中
choose(cours1)                #学生选课程1
choose(cours2)                #学生选课程2
print(stu)                    #输出学生信息

  结果如下。

在这里插入图片描述

  上面情况,每次需要课程,都要声明一个课程字典类,不灵活,此时最好的解决方法就是采用面向对象程序设计思路进行编程。使用面向对象思路实现上述问题时,可以将“学生”和“课程”分别看作两类对象,具体如下:

  • 学生类:其特征包括学号、姓名、总学分和所选课程,行为包括选课;
  • 课程类:其特征包括课程编号、课程名和学分。

  有了这样的类后,我们可以很轻松地实例化多个学生和多门课程,执行选课操作时,也限制了只有学生能够进行选课操作。

  例:用面向对象程序设计思路编写程序,模拟学生选课,每选一门课程,将课程名加入到学生的所选课程中,同时将课程的学分累加到学生的总学分中。

代码语言:javascript复制
#定义学生类
class Stu:
    #构造方法定义学生属性
    def __init__(self,num,name,credit,course):
        self.num = num
        self.name = name
        self.credit  = credit
        self.course = course
    #定义学生选课方法
    def choose(self,c):    
        self.credit =c.credit
        self.course.append(c.name)


#定义课程类
class Cou:
 #构造方法定义课程属性
    def __init__(self,num,name,credit):     
        self.num = num
        self.name = name
        self.credit  = credit


stu_1 = Stu('201801','Jack',,[])    #创建学生1
stu_2 = Stu('201802','Tom',,['Math'])    #创建学生2
cou_1 = Cou('01','Python',)        #创建课程1
cou_2 = Cou('02','C',)        #创建课程2
stu_1.choose(cou_1)        #调用方法实现学生1选课程1
stu_2.choose(cou_2)        #调用方法实现学生2选课程2
#输出各学生信息
print('学号:',stu_1.num,'姓名:',stu_1.name,'总学分:',stu_1.credit,'所选课程',stu_1.course)
print('学号:',stu_2.num,'姓名:',stu_2.name,'总学分:',stu_2.credit,'所选课程',stu_2.course)

  结果如下。

在这里插入图片描述


四、参考

1、廖雪峰的官网 2、python官网 3、Python编程案例教程


五、总结

  总的来说,面向对象程序设计是一种解决代码复用的编程方法。这种方法把软件系统中相似的操作逻辑、数据和状态以类的形式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的目的。   以上就是就是关于Python的面向对象程序设计基础的相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、在看,欢迎微信搜索关注java基础笔记,后面会不断更新相关知识,大家一起进步。

0 人点赞