<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## 什么是面向對象 之前我們學習了函數,通過函數將一些特定的邏輯封裝起來。這種將代碼組織起來的方式也叫過程式編程。我們今天學習的面向對象編程則將程序做了更高維度的封裝,用人類更容易理解的方式編程。 ## 類&實例 中國道德經有一句話:*道生一,一生二,二生三,三生萬物*,講的是世間的萬物都是從特定的模板里生出來的。這個模板就是類,生出來的東西就是對象。 我們來看幾個案例: ![](https://s1.ax1x.com/2018/08/30/PjrfEV.png) 寵物狗有很多種:泰迪、金毛、哈士奇 都屬于狗科動物。狗本身是一個模板(類)。狗作為一個**類**,擁有尾巴、腿、耳朵等身體**器官**;可以執行跑、叫等**動作**。泰迪、金毛、哈士奇 是從狗模板“生出來的”,因此它們也擁有這些屬性。泰迪、金毛、哈士奇 就是狗這個類的**實例**。 ![](https://s1.ax1x.com/2018/08/30/Pjro34.png) 汽車也有很多種,公交車、轎車、越野車都屬于汽車。汽車本身是一個模板(類),汽車作為一**類**,擁有方向盤、發動機、車身、最大時速等**屬性**;可以執行發動、變方向、鳴笛等**方法**。公交車、轎車、越野是從汽車模板“生出來”的,因此,他們也擁有這些構造。公交車、轎車、越野車就是汽車這個類的**實例**。 看過上面這兩個例子,對什么是是類、什么是實例有沒有一個形象的了解呢?下面我們看看用python怎么表達類和實例吧。 ## 在python里定義類 在python中定義一個類可以參照下面的語法: ~~~ class Dog: pass #類代碼 ~~~ 我們用 class關鍵字定義一個類,注意類的名字用首字母大寫的單詞來組成,為什么要首字母大寫呢?我們下面會解釋。 ## python里對類實例化 定義好類,接下來通過類來構建實例了。看代碼: ~~~ teddy = Dog() print(teddy) ~~~ 我們定義了一個變量`teddy`,Dog()方法就是定義一個類的實例。`print(teddy)`會輸出 `<__main__.Dog object at 0x1041019e8>` 我們把類的首字母大寫,就不會把類和實例搞亂了。 ## 實例屬性 類在定義好后,會擁有一個__init__方法。這個方法是當依照這個類構建實例的時候被調用的,我們來看代碼: ~~~ class Dog: def __init__(self): # 尾巴、腿、耳朵 self.tail = 'small' self.leg = 'long' self.ear = 'stand' teddy = Dog() print(teddy.leg) ~~~ 在__init__方法里,有一個self參數,這個參數用來表達實例本身。那里面的 `self.tail`、`self.leg` 就是實例屬性了。類的每個實例有自己的屬性。比如泰迪的尾巴是短的、耳朵是下垂的。而哈士奇的尾巴是長的,尾巴是立起來的。 ## 方法 除了屬性外,類還有方法。我們來看代碼: ~~~ class Dog: def __init__(self, name): # 尾巴、腿、耳朵 self.tail = 'small' self.leg = 'long' self.ear = 'stand' self.name = name def call(self): print("汪汪", self.name) teddy = Dog('teddy') husky = Dog('husky') teddy.call() husky.call() ~~~ `call` 函數是類的方法,每個實例都會有這個方法。方法定義中會有默認的self參數,用來代表實例自己。這個代碼還可以印證每個實例有自己的屬性。 ## 類屬性 除了實例屬性外,還有類屬性。看代碼: ~~~ class Dog: dogCount = 0 def __init__(self, name): # 尾巴、腿、耳朵 self.tail = 'small' self.leg = 'long' self.ear = 'stand' self.name = name Dog.dogCount += 1 def call(self): print("汪汪", self.name) teddy = Dog('teddy') teddy.call() print(Dog.dogCount) husky = Dog('husky') husky.call() print(Dog.dogCount) ~~~ dogCount 是Dog類的屬性,類屬性從屬于類。每次改版類屬性的值都會反映的所有的實例上。 ![](http://www.runoob.com/wp-content/uploads/2016/05/animals.png) 這節課我們講了面向對象,面向對象是編程里很核心的概念。一定要能夠有清晰的理解,怎么樣,小朋友們掌握了嗎? **阿達老師-孩子身邊的編程專家** ``` class Yingxiong(): def __init__(self): self.zhanji = '' self.xueliang = 2000 self.jineng = '' def gongji(self): print('平A') yase = Yingxiong() yase.xueliang = 4000 yase.gongji() anqila = Yingxiong() anqila.xueliang = 2000 ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看