面向对象程序设计(Object Oriented Programming,OOP)的思想主要针对大型软件设计而提出,它使得软件设计更加灵活,能够很好地支持代码复用和设计复用,并且使得代码具有更好的 可读性和可扩展性。Python完全采用了面向对象程序设计的思想,是真正面向对象的高级动态编程语言,完全支持面向对象的基本功能。因此,掌握面向对象程序设计思想至关重要。
1.面向对象概念
在面向对象编程中,最重要的两个概念就是类和对象(也称为实例)。
对象是某个具体存在的事物,例如,一个名叫“Jack”的学生就是一个对象。
与对象相比,类是抽象的,它是对一群具有相同特征和行为的事物的统称。例如,学校的学生,其特征包括“学号”“姓名”“性别”等,其行为包括“选课”“上课”“考试”等。
类即类别/种类,是面向对象分析和设计的基石,如果多个对象有相似的数据与功能,那么该多个对象就属于同一种类。
有了类的好处是:我们可以把同一类对象相同的数据与功能存放到类里,而无需每个对象都重复存一份,这样每个对象里只需存自己独有的数据即可,极大地节省了空间。所以,如果说对象是用来存放数据与功能的容器,那么类则是用来存放多个对象相同的数据与功能的容器
2.类的定义和对象的产生
1类的定义
面向对象程序设计思想是把事物的特征和行为包含在类中。其中,事物的特征作为类中的变量,事物的行为作为类的方法,而对象是类的一个实例。
定义类发生了几件事?
1. 立即执行类体代码,
2. 产生一个类的名称空间,把类体中的属性名和函数名都扔到一个大字典中
3. 把类的名称空间绑定给__dict__ 类名.dict
定义类的基本语法格式如下:
class 类名:
类体
注意:
(1)类名的首字母一般需要大写,如Car。
(2)类体一般包括变量的定义和方法的定义。
(3)类体相对于class关键字必须保持一定的空格缩进。
#定义类
class Car:
price = 150000 #定义价格变量
def run(self): #定义行驶方法
print('车在行驶中……')
2.创建类的对象
在Python中,创建对象的语法格式如下:
对象名 = 类名()
创建完对象后,可以使用它来访问类中的变量和方法,具体方法是:
对象名.类中的变量名
对象名.方法名([参数])
例:为前面定义的Car类创建一个car_1对象,并访问类中的变量和方法。
class Car:
price = 150000 #定义价格变量
def run(self): #定义行驶方法
print('车在行驶中……')
car_1 = Car() #创建一个对象,并用变量car_1保存它的引用
car_1.run() #调用run()方法
print('车的价格是:',car_1