2016年7月20日 星期三

Python 的類別與物件

類別基本結構
  • 類別是物件產生的基本樣本,裡面包含了兩種元素:
    • 屬性:如同變數名稱
    • 方法:如同函式
  • Python 類別基本格式:
    class 類別名稱():
        def 方法名稱(屬性名稱[,...]):
           執行程式內容
             :
             :
    
  • Python 產生物件的基本方式:
    物件名稱 = 類別名稱(變數名稱)
    
    #物件名稱是自己命名的!
    #類別名稱必需要符合 class 的定義!
    #變數名稱需要有指定值!
    
  • Python 物件內屬性與方法的基本使用方式:
    #呼叫物件的某個屬性值:
    物件名稱.屬性名稱
    
    #使用物件的某個方法:
    物件名稱.方法名稱
    

快速測試:
  1. 使用互動式指令:
    #python3
    Python 3.4.3 (default, Jan 26 2016, 02:25:35)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
  2. 建立一個 person 類別,並且將定義 name 屬性與 list_name 方法:
    >>> class person():
    ...   def __init__(self,name):
    ...     self.name = name
    ...   def list_name():
    ...     return self.name
    ...
    
  3. 產生 person 物件,並且列出名字:
    >>> peter = person("Peter")
    >>> print(peter.name)
    Peter
    >>>
    >>>quit()
    $
    
  4. 利用編寫 python 程式檔:
    $vim human.py
    class Human():
      def __init__(self,name):
         self.name = name
      def list_name(self):
         return self.name
    
    peter = Human("Peter")
    print(peter.list_name())
    
  5. 執行 python 程式檔:
    $python3 human.py
    Peter