官术网_书友最值得收藏!

1.2.5 面向對象

Python支持面向對象編程(Object-Oriented Programming,簡稱OOP),在Python中實現OOP的關鍵就是類和對象。這里簡單介紹一些相關的基礎知識,以便大家對面向對象有基本的認識。

面向對象使得我們可以通過抽象的方法來簡化程序,其一大優(yōu)點就是代碼復用(在多態(tài)繼承上的應用尤為突出)。來看下面一段代碼。

    class Person:
        has_hair = True
        def __init__(self, name, age):
          self.name = name
          self.age = age
      def sayhello(self, words):
          print("Hello, I'm", self.name)
          print(words)

  if __name__ == '__main__':
      Sally = Person('Sally', 20)
      Sally.sayhello("Nice to meet you")

      Tom = Person('Tom', 19)
      Tom.sayhello("Nice to meet you too")

運行輸出如下。

    Hello, I'm Sally
    Nice to meet you
    Hello, I'm Tom
    Nice to meet you too

這里通過class關鍵字定義了一個名為Person的類,其中Person稱為類名。在類的內部,定義了一個變量has_hair,稱為類屬性;定義的兩個函數稱為類方法。下面通過給Person傳入必須的參數得到兩個實例Sally、Tom,這個過程稱為實例化。

注意這里的self代表實例。第一個函數是在實例被創(chuàng)建的時候自動執(zhí)行的,它給實例增添了name和age屬性,這些屬性只有實例本身才有,稱為實例屬性。

最后通過實例調用了sayhello方法,打印了問候語。作為拓展,在后面第3章數據清洗中還會介紹面向對象的文件操作。當然這些都是很基礎的應用,進一步的學習需要大家自行探索。

主站蜘蛛池模板: 武山县| 河南省| 桑植县| 辽宁省| 荥阳市| 赞皇县| 资阳市| 宁城县| 门头沟区| 福海县| 永德县| 长泰县| 荥经县| 宁晋县| 封丘县| 江油市| 基隆市| 汪清县| 德保县| 壤塘县| 蕉岭县| 修水县| 含山县| 扬州市| 南宁市| 马边| 临清市| 苍山县| 中超| 房山区| 长乐市| 日喀则市| 长寿区| 庆阳市| 芜湖市| 达孜县| 顺平县| 平乐县| 延长县| 石嘴山市| 辽中县|