1. 程式人生 > >Python學習筆記016——面向對象

Python學習筆記016——面向對象

str 定義 mil ini static 自動調用 instance @class 構造

面向對象是指用類來描述一個對象(實例),用類來建立實例與實例的關聯關系

對象 : object 實例 : instance

1 類

1.1 什麽是類

類是用來描述對象的工具,用類可以創建一個或多個同類對象。類 : class

1.2 類的作用

用來描述對象

用來創建具有相同屬性的同類對象

1.3 類的創建

class 類名(繼承列表):
    ”””
        類文檔字符串

    “““
    實例方法(類內的函數methed)定義

    類變量定義

    類方法(@classmethod)定義
    靜態方法(@staticmethod)定義

註意:

1、類名必須是標識符

2、類名實質上是變量,它綁定一個類

3、類的定義的前後要加兩個空行以告訴解釋執行器,類的定義已經開始和結束

4、在python程序中,每個實例可以有自己的變量,每個實例變量有自己獨立的作用域

示例

# 定義一個類
class Car:
    pass

# 創建一個Car實例
c1 = Car()
c2 = Car()

其實我們經常用的list函數也是類,在定義列表時(a = list()),其實也是實例化的過程。

1.4 實例變量的語法調用

實例.變量名
實例.變量名 = 表達式 # 創建或修改實例變量
v = 實例.變量名  # 獲取實例變量綁定的對象

註意:

實例變量的首次賦值為創建,再次賦值為改變變量的綁定關系

2 實例方法

class 類名(繼承列表):
    def 實例方法名(self, 參數1, 參數2, ...):
        "實例方法的文檔字符串"
        語句塊

註意:

1、實例方法的本質是函數,確切地說是定義在類內的函數。

2、實例方法屬於類的屬性。

3、實例方法的第一個參數為調用該方法的實例,一般命名為self

4、實例方法中若沒有return語句則返回None

2.1 實例方法的調用

實例.實例方法名(調用參數)

類名.實例方法名(實例,調用參數)

上數兩種方式均可。

3 構造方法

構造方法也稱之為初始化方法

語法格式

class 類名(繼承列表):
    
def __init__(self [, 參數列表]): 語句塊

註意:

1、構造方法名必須是init。

2、每一個類內只能由一個構造方法init起作用。

3、構造方法會在實例生成時自動調用,且將實例自身(作為實參)對標init中的self形參。

4、構造方法中若無return語句,則返回None

4 析構方法

析構方法語法

語法格式 :
  class 類名(繼承列表):
      def __del__(self):
          語句塊

註意:

1、析構方法在對象被銷毀時自動調用

2、在python語言中,建議不要在對象銷毀時做任何事情,因銷毀的時間難以確定

Python學習筆記016——面向對象