目录

  • 一、背景
  • 二、面向对象程序设计思想
  • 三、设计案例对比
  • 四、参考
  • 五、总结



一、背景

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



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

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


三、设计案例对比

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

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

  结果如下。

python面相对象的程序设计实验内容_python基础

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

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

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

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

#定义学生类
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',0,[])	#创建学生1
stu_2 = Stu('201802','Tom',3,['Math'])	#创建学生2
cou_1 = Cou('01','Python',3)		#创建课程1
cou_2 = Cou('02','C',4)		#创建课程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)

  结果如下。

python面相对象的程序设计实验内容_Python_02


四、参考

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


五、总结

  总的来说,面向对象程序设计是一种解决代码复用的编程方法。这种方法把软件系统中相似的操作逻辑、数据和状态以类的形式描述出来,以对象实例的形式在软件系统中复用,以达到提高软件开发效率的目的。  

以上就是就是关于Python的面向对象程序设计基础的相关知识,可以参考一下,觉得不错的话,欢迎点赞、收藏、