今天,我们来介绍Python的面向对象编程,其实面向对象并不陌生,在C++ ,Java ,PHP中也有大量使用!
好了,我们来步入正题!
那什么是面向对象编程呢?
1. 面向对象编程是一种程序设计的范式
2. 把程序看作是不同对象的相互调用
3. 它是对现实世界建立对象模型
下面我们来介绍一下面向对象的基本思想:
类和实例,类用于定义抽象类型,实例根据类的定义被创建出来。
如上图所示:人可以看作是一个模型,而张三,李四,王五,计算根据就是根据人这个模型而构造出来的一个个实体。
而这里我们可以说,人就是类的定义,而张三,李四,王五他们就是实例,如下图所示:
在Python中,类是由关键字class来定义,
面向对象最重要的一个思想是数据封装,我们可以在类中定义属性和方法。
class Person:
def __init__(self,name):
self.name = name
p1 = Person('zs')
p2 = Person('ls')
p3 = Person('ww')
上面就是面向对象的大体内容,接下来我们详细介绍一下:
1.定义类并创建实例:
在Python中,类通过class来定义,比如我们来定义一个Person类:
class Person(object):
pass...
......
在Python的编程习惯中,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。在这里假设是从object类继承下来!
有了类的定义,我们就可以创建出具体的实例,创建实例使用类名(),即 ls = Person().
2.创建实例属性:
虽然Person类可以创建出ls,ww,等等实例,但是这些实例看上去除了地址不同外,没有什么其他不同。但是如果让每个实例·拥有各自不同的属性,那我们就可以区分他 们了,那么如何给实例赋予属性的!当然了,大家都知道,Python是动态语言,对于每一个实例,都可以直接给他们的属性赋值:
ls = Person()
ls.name = 'li si'
ls.birth = '1995-6-5'
ls.age = 21
而且,实例的属性可以像普通变量一样进行操作,ls.age = ls.age + 2
类与list结合的情况:
class Person(object):
pass
p1 = Person()
p1.name = 'bart'
p2 = Person()
p2.name = 'adam'
p3 = Person()
p3.name = 'lisa'
list1 = [p1,p2,p3]
list2 = [p1,p2,p3]
print (list2[0].name)
print (list2[1].name)
print (list2[2].name)
好了,我们今天先说到这里,现在我要去上课了,回来之后接着给大家分享哈!