面向对象编程简介:面向对象编程Object Oriented Programming简称OOP,是一种区别于面向过程编程的新的编程思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
Python中的所有数据类型都可以视为对象,也可以自定义对象。自定义的对象数据类型就是面向对象中的类class概念。
示例:使用面向对象程序设计思想设计一个存储学生信息(姓名和成绩)的表为了显示区别,我们首先使用面向过程的程序来构造:
stu1={'name':'Alex','score':98}
stu2={'name':'Bob','score':89}
...
然后使用函数来处理学生信息
def print_score(stu):
print('%s:%s' %(stu['name'],stu['score']))
上面的代码简单演示了面向过程设计的存储数据到使用数据过程。接着我们用面向对象的程序设计思想来实现。
首先,我们来考虑如何存储数据:我们把学生视为一个对象,那么姓名和成绩就是这个对象的两个属性,使用数据就属于对象的一个方法,我们把上面的内容转为代码就是:
class Student(object):
def __init__(self,name,score):
self.name=name
self.score=score
def print_score(self):
print('%s:%s' %(self.name,self.score))
上面的代码中我们构造了一个Student类(对象),还构造了一个对象的方法(Method)print_score,现在我们就可以来实例化(Instance)对象
bart=Student('Bart',67)
lisa=Student('Lisa',88)
调用对象的方法
bart.print_score()
lisa.print_score()
我们来运行测试:
>>> from stu import Student
>>> bart=Student('Bart',67)
>>> lisa=Student('Lisa',88)
>>> bart.print_score()
Bart:67
>>> lisa.print_score()
Lisa:88
>>>
这样,我们就完成了面向对象程序设计的第一个程序。由上可见,这种程序设计思想抽象程度要高于函数,因为它既包括了数据,又包括了操作数据的方法。