Python的面向对象1

时间:2021-10-16 11:14:14

  今天,我们来介绍Python的面向对象编程,其实面向对象并不陌生,在C++  ,Java  ,PHP中也有大量使用!

  好了,我们来步入正题!

  那什么是面向对象编程呢?

    1. 面向对象编程是一种程序设计的范式

    2. 把程序看作是不同对象的相互调用

    3. 它是对现实世界建立对象模型

  下面我们来介绍一下面向对象的基本思想:

    类和实例,类用于定义抽象类型,实例根据类的定义被创建出来。

    Python的面向对象1

  如上图所示:人可以看作是一个模型,而张三,李四,王五,计算根据就是根据人这个模型而构造出来的一个个实体。

  而这里我们可以说,人就是类的定义,而张三,李四,王五他们就是实例,如下图所示:

    Python的面向对象1

    在Python中,类是由关键字class来定义,

      Python的面向对象1

  面向对象最重要的一个思想是数据封装,我们可以在类中定义属性和方法。

  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)

好了,我们今天先说到这里,现在我要去上课了,回来之后接着给大家分享哈!