当前位置: 主页 > Python语言

python面向对象编程-面向计算科学与工程的matlab编程

发布时间:2023-02-08 22:42   浏览次数:次   作者:佚名

1.面向对象编程

●面向对象编程——Object Oriented Programming,简称OOP,是一种编程思想。 OOP把对象作为程序的基本单位,一个对象包含数据和操作数据的函数。

●面向过程的程序设计把计算机程序看作是一系列命令集,即一组函数的顺序执行。

●面向对象程序设计把计算机程序看成是对象的集合,每个对象都可以接收其他对象发来的消息,并对这些消息进行处理。 计算机程序的执行是对象之间传递的一系列消息。

2.面向过程和面向对象的简单例子

过程导向

●我们要处理学生的个人信息。 为了表示学生的年龄,面向过程的程序可以用字典表示:

面向java开发者的函数式编程_python面向对象编程_面向计算科学与工程的matlab编程

1std1 = { 'name''Michael''age'18 }
2std2 = { 'name''Bob''age'20 }

●处理学生成绩可以通过函数实现,比如打印学生年龄:

1def print_age(std):
2    print('%s: %s' % (std['name'], std['age']))

面向对象

●利用面向对象编程的思想,我们首先想到的不是程序的执行过程,而是应该把Student这个数据类型看成一个对象,而这个对象有name和Property两个属性(Property)年龄。 如果要打印学生的年龄,首先要创建一个学生对应的对象,然后给对象发送print_age消息,让对象打印出自己的数据。

1class Student(object):
2
3    def __init__(self, name, age):
4        self.name = name
5        self.age = age
6
7    def print_age(self):
8        print('%s: %s' % (self.name, self.age))

● 然后调用对象的方法来处理数据

python面向对象编程_面向计算科学与工程的matlab编程_面向java开发者的函数式编程

1A = Student('A', 19)
2B = Student('Lisa', 17)
3A.print_score()
4B.print_score()

3.面向对象中的重要概念类和实例

●类是一个抽象的概念。 比如我们定义的Class—Student指的是学生的概念,而实例(Instance)则是具体的Students。 例如,A 和 B 是两个特定的学生。

● 面向对象的设计思想是对Class进行抽象,根据Class创建Instance。

● 面向对象的抽象高于函数,因为一个类既包含数据,也包含操作数据的方法。

4. Python类定义和实例

●以Student类为例。 在 Python 中,类是通过 class 关键字定义的。 Class后面是班级名称,即Student。 类名通常是一个大写的单词,后面跟(object),表示该类是从哪个类继承的,通常如果没有合适的继承类,就使用object类,也就是所有类都会继承的类最终继承自。

面向java开发者的函数式编程_python面向对象编程_面向计算科学与工程的matlab编程

1class Student(object):
2    pass

● 定义好Student 类后,就可以基于Student 类创建Student 的实例。 创建实例是通过类名+()实现的:

1A = Student()

●类可以作为模板python面向对象编程,所以在创建实例的时候,可以强制填充一些我们认为必须绑定的属性。通过定义一个特殊的init方法,在创建实例的时候,绑定name,age等属性对它:

1def __init__(self, name, age):
2    self.name = name
3    self.age = age

● 特殊方法“__init__”前后有两条下划线! ! !

●注意__init__方法的第一个参数始终是self,即创建的实例本身。 因此,在__init__方法内部,可以给self绑定各种属性,因为self指向创建的实例本身。

python面向对象编程_面向计算科学与工程的matlab编程_面向java开发者的函数式编程

● 创建实例时,不能传入空参数。 必须传入与__init__方法匹配的参数,self则不需要传入。Python解释器会自己传入实例变量:

1B = Student('Lisa'17)

5、面向对象数据的封装

● 面向对象编程的一个重要特征是数据封装。 在上面的 Student 类中,每个实例都有自己的姓名和年龄数据。 我们可以通过类方法访问这些数据python面向对象编程,例如打印学生的成绩:

1B.print_score()

●类的方法类似于函数。 它是一个类中的函数,但是多了一个参数。 第一个参数是self,其他和普通函数一样。

● 类中的数据封装后,通过类的方法进行处理,从而实现数据的封装,对外使用类的方法进行处理。

python面向对象编程_面向java开发者的函数式编程_面向计算科学与工程的matlab编程

6.总结

●类是创建实例的模板,实例是具体的对象。 每个实例拥有的数据相互独立,互不影响;

● 方法是绑定到实例的函数。 与普通函数不同,方法可以直接访问实例的数据;

● 通过调用实例上的方法,我们直接操作对象内部的数据,而不需要知道方法内部的实现细节。

●数据封装、继承和多态是面向对象的三大特点,后面会详细讲解。

面向计算科学与工程的matlab编程_python面向对象编程_面向java开发者的函数式编程

在 Python 中使用 SciKit-Learn 对数据进行逻辑分析

面向计算科学与工程的matlab编程_python面向对象编程_面向java开发者的函数式编程