乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python面向?qū)ο缶幊獭?lèi)與繼承 初認(rèn)識(shí)

       靜幻堂 2018-10-07
      極客饕餮 2018-09-20 20:20:28

      ラムジ - PLANET.mp3

      04:08

      來(lái)自極客饕餮

      一 類(lèi)

      三種編程模式:

      1.命令式(使用語(yǔ)句,循環(huán)和函數(shù)).

      2.函數(shù)式(使用純函數(shù),高階函數(shù)和遞歸recursion)

      3.面向?qū)ο缶幊?oop)

      對(duì)象時(shí)使用類(lèi)來(lái)創(chuàng)建的,而這些類(lèi)實(shí)際上是oop的模具.

      類(lèi)描述了對(duì)象是什么,但是和對(duì)象本身是分開(kāi)的.換句話說(shuō),一個(gè)類(lèi)可以被描述為一個(gè)對(duì)象的藍(lán)圖,描述或定義.

      類(lèi)使用關(guān)鍵字class和一個(gè)包含類(lèi)方法的縮進(jìn)塊創(chuàng)建的.

      下面是一個(gè)簡(jiǎn)單的類(lèi)和它的對(duì)象的例子:

      class Cat:

      def __init__(self,color,legs):

      self.color=color

      self.legs=legs

      felix=Cat("ginger",4)

      rover=Cat("dog-colored",4)

      stumpy=Cat("brown",3)

      這段代碼定義了一個(gè)名為Cat的類(lèi),它有兩個(gè)屬性:color和legs

      然后這個(gè)類(lèi)被用來(lái)創(chuàng)建這個(gè)類(lèi)的3個(gè)獨(dú)立的對(duì)象.

      __init__方法是一個(gè)類(lèi)中最重要的方法.它被稱為類(lèi)的構(gòu)造函數(shù).

      所有的方法都必須以self作為自己的第一個(gè)參數(shù),雖然它沒(méi)有被明確地傳遞,但是python為自己添加了自變量

      在調(diào)用方法時(shí),不需要包含它.在一個(gè)方法定義中,self指的是調(diào)用該方法的實(shí)例.

      注意:__init__是兩個(gè)下劃線,不是_init_

      類(lèi)的實(shí)例具有屬性,這些屬性是與它們相關(guān)聯(lián)的數(shù)據(jù)片段

      在這個(gè)例子中,Cat實(shí)例具有屬性color和legs.這些可以通過(guò)在一個(gè)實(shí)例之后加一個(gè)點(diǎn)和屬性名來(lái)訪問(wèn).

      在__init__方法中,可以使用self.attribute來(lái)設(shè)置實(shí)例屬性的初始值.

      class Cat:

      def __init__(self,color,legs):

      self.color=color

      self.legs=legs

      felix=Cat("ginger",4)

      print(felix.color)

      結(jié)果:

      ginger

      在上面的例子中,__init__方法接受兩個(gè)參數(shù)并將它們分配給對(duì)象的屬性.

      類(lèi)可以通過(guò)在類(lèi)的主體內(nèi)分配變量來(lái)創(chuàng)建類(lèi)屬性,也可以在類(lèi)的主體內(nèi)定義其他方法來(lái)為其添加功能.這些可以通過(guò)從類(lèi)的實(shí)例或類(lèi)本身來(lái)訪問(wèn)類(lèi)屬性.只能通過(guò)實(shí)例來(lái)訪問(wèn)自定義的方法.

      例如:

      class Dog:
      legs=4
      def __init__(self,name,color):
      self.name=name
      self.color=color
      def bark(self):
      print("woof!")
      fido=Dog("Fido","brown")
      print(fido.legs)
      print(Dog.legs)
      fido.bark()

      結(jié)果:

      4

      4

      woof!

      使用Dog.bark()會(huì)報(bào)錯(cuò).

      類(lèi)屬性由類(lèi)的所有實(shí)例共享.

      嘗試訪問(wèn)未定義的實(shí)例的屬性會(huì)導(dǎo)致AttributeError.這也適用于你調(diào)用未定義的方法.

      二 繼承

      繼承提供了一種在類(lèi)之間共享功能的方法.

      要從另一個(gè)類(lèi)繼承一個(gè)類(lèi).要將超類(lèi)(父類(lèi))放在類(lèi)名后面的括號(hào)中.

      例如:

      python面向?qū)ο缶幊獭?lèi)與繼承 初認(rèn)識(shí)

      結(jié)果:

      brown

      woof!

      從另一個(gè)類(lèi)繼承的類(lèi)稱為子類(lèi)

      被繼承的被稱為超類(lèi)

      如果一個(gè)類(lèi)繼承了另一個(gè)具有相同屬性或方法的類(lèi),它們的屬性和方法將覆蓋它們.

      python面向?qū)ο缶幊獭?lèi)與繼承 初認(rèn)識(shí)

      結(jié)果:

      woof!

      繼承也可以是間接的.比如,一個(gè)類(lèi)B繼承類(lèi)A,類(lèi)C也可以繼承類(lèi)B.但是不允許A繼承B(不允許循環(huán)繼承)

      super函數(shù)是一個(gè)與父類(lèi)繼承相關(guān)的函數(shù),它可以用來(lái)在對(duì)象的超類(lèi)中找到具有特定名稱的方法.

      例如:

      class A:

      def spam(self):

      print(1)

      class B(A):

      def spam(self):

      print(2)

      super().spam()

      B().spam()

      結(jié)果:

      2

      1

      super().spam()是調(diào)用超類(lèi)的spam方法

      每天堅(jiān)持進(jìn)步一點(diǎn)點(diǎn).

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類(lèi)似文章 更多