# 这是学习廖雪峰老师python教程的学习笔记
1、概览
面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。
1.1、面向过程和面向对象的区别:
面向过程:关注步骤的实现。把要做的事,当成一组函数的顺序执行。
面向对象:关注对象的实现。即每个对象 负责一部分功能。将所有对象耦合起来,形成一个整体
1.2、处理学生成绩的例子
面向过程的处理
# 为学生成绩定义一个 dict
std1 = { 'name': 'Michael', 'score': 98 }
std2 = { 'name': 'Bob', 'score': 81 }
# 通过函数打印学生成绩
def print_score(std):
print('%s: %s' % (std['name'], std['score']))
2、面向过程的处理
将Student视为一个对象,这个对象拥有name和score这两个属性(Property)。
调用对象的print_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))
bart = Student('Bart Simpson', 59)
lisa = Student('Lisa Simpson', 87)
bart.print_score()
lisa.print_score()
1.3.总结
在Python中,所有数据类型都可以视为对象,当然也可以自定义对象。自定义的对象数据类型就是面向对象中的类(Class)的概念。
面向对象的设计思想是抽象出Class,根据Class创建Instance。
Class是一种抽象概念,比如我们定义的Class——Student,是指学生这个概念,而实例(Instance)则是一个个具体的Student,比如,Bart Simpson和Lisa Simpson是两个具体的Student。