笔记||Python3之面向对象

面向对象编程:简称OOP。

       是一种程序设计思想。oop把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。

       在python中,所有数据类型都可以视为对象,也可以自定义对象。自定义的对象数据类型就是面向对象的类class的概念。

       注意:属于面向对象编程语言的有 c++ 、  ruby 、  python  、 java

               不支持面向对象的语言有  c语言

类和实例:

       :是抽象的模板;一类具有相同特征的事物的统称。

             类里面有:①静态---属性(特征) ---变量  ②动态---方法(行为)----函数

             定义类:通过class关键字,类型通常都是大写开头的

                        object  ----- 表示该类是从哪个类继承下来的

                        通常如果没有合适的继承类,就使用object类,这是所有类都会继承的类

                        class  Student(object):

                               pass

       实例:根据类创建出来的一个个具体的'对象',每个对象都拥有相同的方法,单各自的数据可能不同。

                类是实例的抽象化概念;实例是类的具体实例化体现。

                创建实例:通过类名+()实现的   如  bar = Student()

                                也可以自由的给实例变量绑定属性   如  bar.name = Student()

                                由于类可以起到模板作用,因此,可以在创建实例时,把一些我们认为绑定的属性强制填写进去。通过一个特殊的_int_方法,在创建时,就把name、score等属性绑上去。

                                有了_int_方法,在创建实例时,就不能传入空的参数了,必须传入_int_方法匹配的参数,但self不需要传,python解释器会自已把实例变量传进去。

                                def  Student(object):

                                       def _int_(self,name,score):

                                                self.name = name

                                                self.score = score

实例化操作:1 - 类里面的变量  --- 属性

                  2 - 类里面的函数  --- 方法

                  3 - 创建实例    t1 = Tiger()

静态属性和实例属性

       1- 静态属性  ----- 也叫类属性  属于整个类的

                                用法  ---- ①类.属性   ②实例.属性

       2 - 实例属性  ----- 定义在初始化方法  _init__里面

                                 一般在创建实例时就给定

                                 只要创建实例 ---  def  _init(self):   初始化方法肯定会调用

                                 self 只是代表词,并不是关键字--可以替换,但不建议替换! 不能缺省

                                 id(self)

                                 实例化属性  --- 只能  实例.属性

                                 self  这个实例的本身

静态方法和实例方法

       1 - 静态方法  ----- 属于整个类   类可以直接调用,不需要实例化   ----  类.方法  /  实例.方法

                                 用@stacticmethod修饰  只能修饰紧跟的那一个

       2 - 实例方法  ----- 有self  ----  用法  实例.方法

取随机数:  from random  import  randint

                    print(randint(0,5)) ----- 取 0 1 2 3 4 5  闭区间  随机  

时间处理:  import time

                    print(time.time())  ---- 单位是s秒  从1970算起

继承:1 - 继承关系可以是多个父类

        2 - 重写 -- 在父类跟子类之间的一个多态的体现

        3 - 在重写情况下,调用父类的方法

              super(SouTiger,s1).roar()

              super(子类类名,子类的实例名).roar()

        4 -  __name  属于私有属性

 类的专有方法有:

         ① __int__   构造函数  在生成对象时调用

         ② __del__  析构函数  释放对象时使用

         ③ __repr__ 打印 转换

         ④ __add__ 加运算

         ⑤ __sub__ 减运算

         ⑥ __call__ 函数调用

         ⑦ __len__  获得长度

         ⑧ __mul__  乘运算

         ⑨ __mod__ 求余计算

         ⑩ __pow__ 乘法

posted @ 2019-11-28 17:02  呸呸裴  阅读(334)  评论(0编辑  收藏  举报