筆記||Python3之面向對象

面向對象編程:簡稱OOP。java

       是一種程序設計思想。oop把對象做爲程序的基本單元,一個對象包含了數據和操做數據的函數。python

       在python中,全部數據類型均可以視爲對象,也能夠自定義對象。自定義的對象數據類型就是面向對象的類class的概念。c++

       注意:屬於面向對象編程語言的有 c++ 、  ruby 、  python  、 java編程

               不支持面向對象的語言有  c語言ruby

類和實例:dom

       :是抽象的模板;一類具備相同特徵的事物的統稱。編程語言

             類裏面有:①靜態---屬性(特徵) ---變量  ②動態---方法(行爲)----函數函數

             定義類:經過class關鍵字,類型一般都是大寫開頭的oop

                        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__ 乘法

相關文章
相關標籤/搜索